一:文本查看工具
cat,tac,more,less,head,tail,wc这些命令
1:cat和tac命令
cat这个命令就是从头到尾的显示完整的文件内容,tac就是从尾到头的显示文件内容
选项:
-n :就是可以显示行数和文件内容
-A:这个就是显示文件的不同点,可以看得到空格,这个非常的重要,就是在后面写shell脚本或者剧本的时候,可以比较有什么不同的点
2:案例:
1)将多个文件的内容合并到一个文件中去
[root@server opt]# cat file1 file2 file1 file2 [root@server opt]# cat file1 file2 > file3 [root@server opt]# cat file3 file1 file2 [root@server opt]#
就是将内容覆盖的写入到file3这个文件里面去
2)查看有多少行
[root@server opt]# cat -n passwd |head -10 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 4 adm:x:3:4:adm:/var/adm:/sbin/nologin 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10 operator:x:11:0:operator:/root:/sbin/nologin [root@server opt]#
3)-A,查看文件的特殊字符
[root@server opt]# cat -A 11.txt file1$ [root@server opt]# cat -A 22.txt file1 $ [root@server opt]#
就是这个$就是以什么结尾的,22.txt就是以空格结尾的,就是文件的内容是相同的,但是就是不能执行,可能就是多打了一个空格,这个需要注意,可以作比较
2:more和less命令
这个2个命令都是按页来查看文件的,其中less可以在线的编辑文件,more不行
1:more命令
可以根据空格键和方向键的下键就是下一页,b键和方向键的上键就是上一页,回车就是下一行
案例:
[root@server opt]# more passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync
2:less命令
可以在线编辑文件内容,搜索文件内容
案例:
1)搜索root
按n|N 就是向下寻找|向上寻找
[root@server opt]# less passwd avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin geoclue:x:991:986:User for geoclue:/var/lib/geoclue:/sbin/nologin flatpak:x:990:985:User for flatpak system helper:/:/sbin/nologin /root
在末行模式下,/搜索的内容
2)编辑文本内容
按v键,再按i键,wq保存,q退出
3:head和tail命令
最常用的命令,就是不想显示完整的内容,可以使用
1:head命令
就是从头到尾的显示多少行,默认是10行
案例:
1)显示5行
[root@server opt]# head -n 5 passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@server opt]# head -n +5 passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@server opt]#
都可以+5和不带上+
2)除了最后的10行其余都显示内容
[root@server opt]# head -n -10 passwd | cat -n
这个减号就是除了最后10行其余都显示出来
2:tail命令
就是从未到头的显示多少行
案例:
1)显示最后5行
[root@server opt]# tail -n -5 passwd tcpdump:x:72:72::/:/sbin/nologin systemd-oom:x:978:978:systemd Userspace OOM Killer:/:/usr/sbin/nologin q7:x:1000:1000:q7:/home/q7:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin memeda:x:1001:1001::/home/memeda:/bin/bash [root@server opt]# tail -n 5 passwd tcpdump:x:72:72::/:/sbin/nologin systemd-oom:x:978:978:systemd Userspace OOM Killer:/:/usr/sbin/nologin q7:x:1000:1000:q7:/home/q7:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin memeda:x:1001:1001::/home/memeda:/bin/bash [root@server opt]#
2)显示除了前10行其余的都显示出来
[root@server opt]# tail -n +10 passwd |cat -n
第10行显示出来了所以还要加上1 tail -n +11 passwd | cat -n
也可以这么理解从11行开始显示内容,前面的10行不显示内容
3)实时监控日志
tail -f这个命令,在排错的时候,非常的有用
结合使用:
就是显示第6行和第10行的内容
[root@server opt]# head -n 10 passwd |tail -n 5 sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin
就是先展示前10行的内容,再来展示10-6+1这个行,用tail来执行
二:文本过滤工具和文本处理工具
grep,sed,awk,cut,sort,diff这些命令
1:grep命令
这个命令非常的重要,在能够过滤出需要的东西出来
1:常见的选项
-i | 忽略大小写 |
-o | 只打印匹配出的关键字 |
-n | 打印出行数 |
-c | 打印出匹配的总行数 |
-q | 静默输出(不输出任何的信息),用$?可以判断是否正确的执行了 |
-v | 取反,就是取相反的结果 |
-r | 递归的搜索,显示文件和文件内容 |
-l | 只显示文件,不显示内容 |
-Ax | 显示匹配到的行数的后面几行 |
-Bx | 显示匹配到行数的前面几行 |
-Cx | 显示匹配到行数的上下几行 |
2:
标签:bin,opt,sbin,RHCE,nologin,第三周,文本处理,server,root From: https://www.cnblogs.com/qm77/p/17956485