目录
a. cat查看/etc/passwd文件内容,且输出时带行号
b.使用more/less查看/etc/passwd内容,且每页显示10行
c.使用head/tail分别查看文件前5行内容和后5行内容
d.使用grep查看/etc/passwd中和root相关的内容
一.文件内容浏览
命令
![](https://img-blog.csdnimg.cn/dd0694275d3d4d7d97e1c30901961ee0.png)
![](https://img-blog.csdnimg.cn/bc18c7ff5f224395a3e834eb6c3605f3.png)
说明:以上所有命令均可以结合管道符使用
a. cat查看/etc/passwd文件内容,且输出时带行号
b.使用more/less查看/etc/passwd内容,且每页显示10行
[root@rhcsa ~]# more -10 /etc/passwd
[root@rhcsa ~]# less -10 /etc/passwd
c.使用head/tail分别查看文件前5行内容和后5行内容
[root@rhcsa ~]# head -5 /etc/passwd
[root@rhcsa ~]# tail -5 /etc/passwd
d.使用grep查看/etc/passwd中和root相关的内容
[root@rhcsa ~]# grep root /etc/passwd
二.cut命令使用:
cut命令用于按列提取文本内容,语法为: cut [选项] 文件名称
系统文件在保存用户数据信息时,每一项值之间是采用冒号来间隔的,先查看一下:
cut命令的使用
给定文件cut_data.txt且内容为:
No | Name | Score | |
1 | zhang | 20 | |
2 | li | 80 | |
3 | wang | 90 | |
4 | sum | 60 |
使用默认定界符切割文件内容,且输出切割后的第一个字段
[root@rhcsa ~]# touch cut_data.txt
[root@rhcsa ~]# vim cut_data.txt
rootarhcsa ~]# cat cut_data.txt
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
[root@rhcsa ~]# cut -d" " -f1 cut_data.txt
No
1
2
3
4
切割文件内容,且输出切割后的第一个字段和第三个字段
[root@rhcsa ~]# cut -d" " -f1,3 cut_data.txt
No Score
1 20
2 80
3 90
4 60
按字节切割:输出切割的第一个字节到第10个字节的内容
[root@rhcsa ~]# cut -b 1-10 cut_data.txt
No Name Sc
1 zhang 20
2 li 80
3 wang 90
4 sun 60
按字符切割:输出切割后的第一个字符和第5个字符的内容
[root@rhcsa ~]# cut -c 1,5 cut_data.txt
Na
la
2
3n
4n
按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容
No|Name|Score
1|zhang|20
2|li|80
3|wang|90
4|sun|60
[root@rhcsa ~]# vim cut_data.txt
[root@rhcsa ~]# cat cut_data.txt
No|Name|Score
1|zhang|20
2|li|80
3|wang|90
4|sun|60
[root@rhcsa ~]# cut -d"|" -f1,3 cut_data.txt
No|Score
1|20
2|80
3|90
4|60
三.uniq命令使用:
新建文件uniq_data.txt,文件内容为
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
使用uniq命令输出去重后的结果
[root@rhcsa ~]# touch uniq_data.txt
[root@rhcsa ~]# vim uniq_data.txt
[root@rhcsa ~]# cat uniq_data.txt
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
[root@rhcsa ~]# uniq uniq_data.txt
Welcome to Linux
Windows
Mac
Linux
使用uniqmingl只输出重复的行
[root@rhcsa ~]# uniq -d uniq_data.txt
Windows
Mac
使用uniq命令输出不重复的行
[root@rhcsa ~]# uniq -u uniq_data.txt
Welcome to Linux
Linux
使用uniq命令统计重复次数
[root@rhcsa ~]# uniq -c uniq_data.txt
1 Welcome to Linux
2 Windows
2 Mac
1 Linux
四.sort命令:
sort命令用于对文本内容进行排序显示,语法为: sort [选项] 文件名称
sort命令使用
给定文件 num.txt, args.txt
文件内容:num.txt
1
3
5
2
4
文件内容:args.txt
test
args1
args2
args4
args4
args3
对num.txt进行排序,且将结果输出到sorted_num.txt中
[root@rhcsa ~]# touch num.txt
[root@rhcsa ~]# vim num.txt
[root@rhcsa ~]# cat num.txt
1
3
5
2
4
[root@rhcsa ~]# sort num.txt >> sorted num.txt
[root@rhcsa ~]# more sortes num.txt
more: stat of sortes num.txt failed: No such file or directo
1
2
3
4
5
对args.txt进行排序,且将结果输出到sorted_args.txt中
[root@rhcsa ~]# touch args.txt
[root@rhcsa ~]# vim args.txt
[root@rhcsa ~]# cat args.txt test
argsl
args2
args4
args4
args3
[root@rhcsa ~]# sort args.txt >> sorted_args.txt
[root@rhcsa ~]# more sorted_args.txt
args1
args2
args3
args4
args4
test
对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中
[root@rhcsa ~]# sort -n args.txt num.txt>>sorted_merge.txt
[root@rhcsa ~]# more sorted _merge.txt
args1
args2
args3
args4
args4
test
1
2
3
4
5
对args.txt排序后去重输出
[root@rhcsa ~]# sort -u args.txt
args1
args2
args3
args4
args4
test
合并sorted_args.txt和sorted_num.txt且输出
[root@rhcsa ~]# cat sorted_args.txt >> sorted num.txt
[root@rhcsa ~]# more sorted_num.txt
1
2
3
4
args1
args2
args3
args4
args4
test
给定文件info_txt:按第二列作为key进行排序
No | Name | Score | |
1 | zhang | 20 | |
2 | li | 80 | |
3 | wang | 90 | |
4 | sum | 60 |
[root@rhcsa ~]# touch info.txt
[root@rhcsa ~]# vim info.txt
[root@rhcsa ~]# sort -t" " -k2 info.txt
2 li 80
No Name Score
4 sun 60
3 wang 90
1 zhang 20
五.替换文件中的字符显示tr
tr 指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出。
将26个小写字母的后13个字母替换成大写字母
[root@rhcsa ~]# echo :"abcdefghijkmlnopqrstuvwxyz"| tr n-z N-Z
:abcdefghijkmlNOPQRSTUVWXYZ
将hello 123 world 456中的数字替换成空字符
[root@rhcsa ~]# echo "hello 1223 world 456" | tr 1-6 “ ”
hello world
将hello 123 world 456中字母和空格替换掉,只保留数字
[root@rhcsa ~]# echo "hello 123 world 456" | tr -c 1-6 " "
123 456