目录
一、显示命令
1. cat
1.1 定义
查看文件内容,只能看一些普通的文本,file anaconda-ks.cfg可以看见文件的类型。在黑屏界面如果内容过多会显示不全。
1.2 选项效果
选项 | 效果 |
-A | 显示隐藏的字符 |
-n | 显示行号包括空行 |
1.3 语法示例
cat [选项] 文件名
[root@localhost ~]#cat /etc/centos-release //查看系统内核版本
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]#cat -n /etc/passwd //显示行号
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ky35]#cat -A 1.txt //显示隐藏的字符
123456789$
2. tac
逆向显示文本内容
[root@localhost ky35]#cat 1.txt
1
2
3
[root@localhost ky35]#tac 1.txt //反过来看
3
2
1
3. rev
将同一行的内容逆向显示
[root@localhost ky35]#cat 1.txt
123
abc
[root@localhost ky35]#rev 1.txt //同一行逆向显示
321
cba
二、管道重定向
1. 定义
重定向:重新定义标准输出方向,用“>”表示
管道:将前面命令的结果当作后面命令的参数执行,管道符左边的命令一定要有标准输出,右边的命令一定要可以接收标准输入,用“|”表示
[root@localhost ky35]#echo 123 > 1.txt | cat 1.txt
123
tip:当管道右边无法接收标准输入,可以利用xargs外挂待接收
[root@localhost ~]# echo zhangsan | xargs useradd #useradd无法接收标准输入,需要代接收
[root@localhost ~]# tail -n1 /etc/passwd #查看最新建的用户信息
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
2. 文件合并
[root@localhost ky35]#cat 1.txt > 2.txt //将1.txt内容覆盖到2.txt
[root@localhost ky35]#cat 1.txt >> 2.txt //将1.txt内容追加到2.txt
[root@localhost ky35]#cat 1.txt 2.txt > 3.txt //内容竖向合并
[root@localhost ky35]#cat 3.txt
123
456
abc
def
[root@localhost ky35]#paste 1.txt 2.txt > 4.txt //内容横向合并
[root@localhost ky35]#cat 4.txt
123 abc
456 def
[root@localhost ky35]#cat -A 4.txt
123^Iabc$ //横向合并间距默认一个Tab值
456^Idef$
[root@localhost ky35]#echo text | xarges ueradd //xargs代接收
3. 补充
- 标准输入:用户输入的指令
- 标准输出:电脑反馈的标准信息
- 错误输出:电脑的一些报错信息
三、分页显示
1. more
由于cat查看文件具有局限性,还可以使用more命令查看
more [选项] 文件名
基本操作:
回车:一行一行查看
空格:一页一页查看
q:退出(看完也自动退出)
2. less
less相对于more来说,不会自动退出,更加友好
less [选项] 文件名
n:向下查看
N:向上查看
/:可以搜索查找高亮显示
四、显示文件前后内容
1. head和seq
可以显示文件或标准输入的前面行
head -c 数字 文件名 :代表获取数字个字符
head -n 数字 文件名 :看文件的前数字行
head -n -数字 :去掉最后数字行
[root@localhost ky35]#seq 3 | head -n -1 //去掉最后数字行,seq命令用来打印数字序列
1
2
2. tail
tail 和head 相反,查看文件或标准输入的倒数行(后数字行)
tail -n 数字 文件名:看文件的后数字行
tail -f 文件名:实时查看文件
3. wc
统计行、单词、字符数
-l:只统计行数
-w:只统计单词(不是真正的单词)
-c:只统计字符
[root@localhost ky35]#cat 1.txt
123
abc
[root@localhost ky35]#wc 1.txt
2 2 8 1.txt //2 2 8 代表:行 单词 字符
4. 正则表达式部分介绍
正则表达式:匹配文件中的字符串(grep、awk、sed)
通配符:匹配文件的名字(ls、find)
5. grep
过度文件中命中的字符,关键字搜索
grep [选项]… 表达式(正则) [文件]
-i:忽略大小写
-v:反转查找,输出与查找条件不相符的行
-o:只显示匹配项
-f :匹配相同项,将第一个文件作为匹配项得出两者相同的部分
[root@localhost ky35]#cat 1.txt
123
abc
[root@localhost ky35]#cat 2.txt
123
456
[root@localhost ky35]#grep -f 1.txt 2.txt //匹配相同部分内容
123
[root@localhost ky35]#grep -c 1.txt 2.txt //匹配相同部分行数
0
-
“^……”表示以……开头,^一行的开头
-
“……$”表示以……结尾,$一行的结尾
-
“^root$”就是root
-
“^$”表示空行
-
-v “^$”表示非空行
6. split
分割文件
split -b 100M 文件名 //-b按兆拆分,将100M文件分割成最小的文件存储
四、压缩和解压缩
1. gizp和bzip
gzip/zip2和bzip/bzip2都是压缩软件
2. 归档tar
-
-c:创建(Create).tar 格式的包文件
-
-x:解开.tar 格式的包文件
-
-C:解压时指定释放的目标文件夹
-
-f:表示使用归档文件(一般都要带上表示使用tar)
-
-p:打包时保留文件及目录的权限
-
-P:打包时保留文件及目录的绝对径
-
-t:列表查看包内的文件(要和f一起使用)
-
-v:输出详细信息(Verbose)
-
-j:调用 bzip2 程序进行压缩或解压
-
-z:调用 gzip 程序进行压缩或解压
tar -zcvf 压缩包名字(*.tar.gz) 需要压缩的文件 #建立归档
tar xf -C 目录 #指定目录解压,不区分gizp,bzip2
五、vim编辑器
1. 三种模式
命令模式:才进去的模式
输入模式:编辑模式
末行模式:辅助操作
2. 模式切换
3. vim工具使用
行间跳转:数字 G:第1行跳到第数字行;gg:首行;G:末行
行内跳转:End,$:行尾;0,^:行首;w:一个单词一个单词跳
x:删除一个字符,u:撤销一次操作,U:撤销全部
y:复制,yy:复制一行,数字yy:复制数字行
p:粘贴在光标下面,P:粘贴在光标上面
d:删除,dd:删除行,数字dd:删除数字行
dw:删除一个单词,d$:删到尾,d0(^):删到头
r:替换一个,R:进入替换模式
i,o:进入输入模式,esc:退出输入模式
q:退出不保存,wq:保存退出,!强制
:set nu:显示行号 /:尾部查找
末行模式补充:查找替换
先查询文件中的内容,然后替换掉它
:% s/文件中的旧内容/替换的内容/修饰符
#:%代表全文范围,不写代表光标当前行,s:关键字
格式:
s/// 或者 s### 或者s@@@
:% s/^/#/ #给所有行开头加上“#”
:% s/^#// #删掉开头“#”
如:
1:第一行;2,5:2~5行;
$:最后一行;$-1:倒数第一行;2,$:2到最后一行;
#:#号行(#代表数字变量);
修饰符:
g:全局替换,默认情况下,每一行只替换第一次出现