Linux基础命令及含义
1 显示命令
1.1 cat 看
cat 只能看普通文本文件。缺点是:内容过多,显示不全
hexdump:查看硬件设备非文本文档
| cat | —A | 显示隐藏字符 |
| —n | 显示行号 |
重定向,重新定义标准
> 一个是覆盖所有内容 >> 两个是追加
如何合并两个文件?
cat A B > C 竖向,上下合并
paste A B > C 横向,左右合并
标准输入:你输入的指令 }
标准输出:电脑反馈给你的信息 } 都默认在屏幕上显示
错误输出:电脑的一些报错信息 }
1.2 | 管道符
管道符:将第一个命令执行的结果当作参数传给后一个命令去执行
命令1 | 命令2 | 命令3 | 命令4 |
左边的命令一定有标准输出
右边的命令一定要接受标准输出
2 分页显示
2.1 more less
more基本操作
空格下一行 到文末后自动退出
b 上一行
enter 一行一行滚动
q 退出
less基本操作
Page Up 向上翻页,Page Down 向下翻页
3 显示文件前后内容
3.1 head
| head | —n 数字 文件名 | 看文件的前多少数字行 |
| —n 3 test | 看test文件的前3行 | |
| —c 数字 | 看数字的这一行 | |
| —n -数字 | 去掉最后数字几行 | |
| seq=10 | head -n -3 | 10行去掉最后3行 |
3.2 tail
tail 和head 相反,查看文件或标准输入的倒数行
-f 跟踪显示文件fd新追加的内容,常用日志监控
tail -n 具体数字 文件名 (不加具体的数字,默认结尾十行)
tail -f 具体数字 文件名 实时跟踪最后十行
| tail | —n 3 文件名 | 看test文件的后3行 |
| —f=tailf 文件名 | 实时追踪查看文件 | |
| —n +数字 | 从数字行开始显示 |
3.3 wc 统计列数 行,单词,字符数
| wc | —l | 只统计行 |
| —w | 只统计单词 | |
| —c | 只统计字符 |
[root@localhost ~]# wc a.txt
1 1 11 a.txt
[root@localhost ~]# cat a.txt
das dasdads
[root@localhost ~]# wc a.txt
1 2 12 a.txt
########注意空行和换行符
tab 空格 算单词的分隔符
3.4 grep 筛选
grep 后面跟正则表达式
grep [选项]… 查找条件 目标文件
| grep | —i | 查找时忽略大小写 |
| —v | 反向查找,输出与查找条件不相符的行 | |
| —o | 只显示匹配项 | |
| —f | 对比两个文件的相同行 | |
| —r | 递归,不找软连接 | |
| —c | 只显示的行数 | |
| . | 任意字符 | |
| ^ | 一行的开头 | |
| $ | 一行的结尾 |
grep -e root -e bash /etc/passwd #包含root或者包含bash 的行
grep -E root|bash /etc/passwd
-w 匹配整个单词
grep -w root /etc/passwd
useradd rooter
gerp "^root" passed 以root开头
gerp "root$" passed 以root结尾
gerp "^$" passed 空行
gerp ——v "^$" passed 空行
重点提问: 在某一文件中,快速找到所有含有root 字符的文件?
grep —r 表达式 (root)文件夹
如何快速找到所有含有特殊字符的文件
我有10g的文件,怎么分割小的文件存稿
split 分割文件
split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]
最常用的选项,都在这里了:
-b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。
-<行数>或-l<行数>:指定每多少行要拆分成一个文件。
输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。
-a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。
[root@localhost data]#dd if=/dev/zero bs=1024 count=700000 of=k
记录了700000+0 的读入
记录了700000+0 的写出
716800000字节(717 MB)已复制,2.98155 秒,240 MB/秒
[root@localhost data]#split -b 400M k
[root@localhost data]#ls
k xaa xab
[root@localhost data]#split -b 400M k a
#指定分隔名
root@localhost data]#split -b 400M k a
[root@localhost data]#ll
总用量 1400000
-rw-r--r--. 1 root root 419430400 8月 12 15:50 aaa
-rw-r--r--. 1 root root 297369600 8月 12 15:50 aab
-rw-r--r--. 1 root root 716800000 8月 12 15:46 k
4 解压缩,归档
4.1 tar 归档
tar [选项] ... 归档文件名 源文件或目录
| tar | —f | 表示使用归档文件必须带f |
| —c | 建立归档文件 tar-cf | |
| —x | 解开归档 tar-xf | |
| —j | 代表使用bzip2 压缩 | |
| —C | 指定解压的目录 | |
| —t | 不解开压缩包,查看压缩包中的内容 |
tar的语法
建立归档
tar fzcv 压缩包的名字(*tar.gz)需要压缩的文件
-p保留权限
5 vi 编辑器
vi是vim的升级版本
vim [OPTION]... ...
命令 选项 文件
vim 文件名不存在 是新建
vim 文件名存在 就是修改
+# 打开文件后,让光标处于第#行的行首,+默认行尾
! 打开上一次的文件
+/PATTERN 让光标处于第一个被PATTERN匹配到的行行首用不多
6 三种模式
6.1 命令模式
命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行<font color='red'>复制、粘贴、替换、删除</font>等操作。
| 三种模式:命令模式 | 100G | 跳到100行 |
| gg | 首行 | |
| G | 末行 | |
| 数字g | 跳到数字行 | |
| o、^ | 行首 | |
| end、$ | 行尾 | |
| w | 一个一个单词跳 | |
| x | 删除 | |
| u | 撤销一次操作 | |
| U | 撤销全部 | |
| y | 复制 | |
| yy | 复制一行 | |
| 10yy | 复制10行 | |
| p | 贴在光标下面 | |
| P | 贴在光标上面 | |
| d | 删除 | |
| dd | 删除一行 | |
| 10dd | 删除10行 | |
| dw | 删除一个单词 | |
| r | 替换 |
6.2 输入模式
输入模式:使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式
在命令模式下输入i、o进入输入模式
输入模式按exc 退出命令模式
在命令模式下输入 :进入末行模式
末行模式按exc 退出命令模式
i 当前 光标处输入
o 在光标下插入新一行
6.3 末行模式
末行模式:文件中的指定内容执行<font color='red'>保存、查找或替换</font>等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
# #具体第#行,例如2表示第2行
#,# #从左侧#表示起始行,到右侧#表示结尾行
#,+# #从左侧#表示的起始行,加上右侧#表示的行数,范例:2,+3 表示2到5行
. #当前行
$ #最后一行
.,$-1 #当前行到倒数第二行
% #全文, 相当于1,$
/pattern/ #从当前行向下查找,直到匹配pattern的第一行,即:正则表达式
/pat1/,/pat2/ #从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
#,/pat/ #从指定行开始,一直找到第一个匹配pattern的行结束
/pat/,$ #向下找到第一个匹配patttern的行到整个文件的结尾的所有行
修饰符:
i #忽略大小写
g #全局替换,默认情况下,每一行只替换第一次出现
c #全局替换,每次替换前询问
本文详细介绍了Linux系统中的基础命令,包括查看文件内容(cat,hexdump,head,tail,wc),文件操作(管道符,more,less,split,tar),以及vi编辑器的使用(命令模式,输入模式,末行模式)。

被折叠的 条评论
为什么被折叠?



