一,cat命令
1,可选参数
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
2,cat一般作为查看文件命令,也可以用来创建文件
[[email protected] test]# cat > test.txt 这里是第一行 这里是第三行,第二行是空行 这里是第四行 ^C [[email protected] test]# cat test.txt 这里是第一行 这里是第三行,第二行是空行 这里是第四行
[[email protected] test]# cat test.txt/etc/passwd >test2.txt [[email protected] test]# cat test2.txt 这里是第一行 这里是第三行,第二行是空行 这里是第四行 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin 。。。。。。。。。#此处省略
3,使用cat查看文件
[[email protected] test]# cat test.txt 这里是第一行 这里是第三行, 第二行是空行 这里是第四行, 这里有个tab键 这里是第7行,第5,6行为空行
[[email protected] test]# cat -nT test.txt #对每行均显示编号 1 这里是第一行 2 3 这里是第三行,^I第二行是空行 4 这里是第四行,^I这里有个tab键 5 6 7 这里是第7行,第5,6行为空行
[[email protected] test]# cat -bT test.txt 忽略空行编号 1 这里是第一行 2 这里是第三行,^I第二行是空行 3 这里是第四行,^I这里有个tab键 4 这里是第7行,第5,6行为空行
[[email protected] test]# cat -sT test.txt #-s多个空行时只显示单个空行 这里是第一行 这里是第三行,^I第二行是空行 这里是第四行,^I这里有个tab键 这里是第7行,第5,6行为空行
[[email protected] test]# cat -snT test.txt 1 这里是第一行 2 3 这里是第三行,^I第二行是空行 4 这里是第四行,^I这里有个tab键 5 6 这里是第7行,第5,6行为空行 [[email protected] test]# cat -bnT test.txt 1 这里是第一行 2 这里是第三行,^I第二行是空行 3 这里是第四行,^I这里有个tab键 4 这里是第7行,第5,6行为空行
二、more 命令
1,常用可选参数
[[email protected] test]# more -2 test.txt #-n自定义屏幕大小为n行,即n行n行分页显示 这里是第一行 这里是第三行, 第二行是空行 这里是第四行, 这里有个tab键 这里是第7行,第5,6行为空行
[[email protected] test]# more +3 -s test.txt#+n 从第n行开始显示,-s多个空行时显示一行。 这里是第三行, 第二行是空行 这里是第四行, 这里有个tab键 这里是第7行,第5,6行为空行
-c:从底部清屏,然后显示,-p也是类似效果。
2,常用操作,与cat区别在于,more能够分页显示,按进度一页一页显示出来,而cat是一次性全部打印出来。故more更多通过键盘控制阅读。需要多用就会记得啦。
1)Enter :向下翻一行,其实可以自定义的,只是默认每按一次Enter翻一行。
2)Ctrl+F:向下滚动一屏,组合键,f不区分大小写。也可以直接按“SPASE”键实现。
3)Ctrl+B:同Ctrl +F对立,向上翻一屏。
4)v :直接调用vi编辑器。
5)!命令:看到一半是敲个shell命令。
6)q:不想看下去了,按q键退出。与man命令一样,man也是按q退出。当然也可以通过Ctrl+c直接暴力掐断。
3,实际使用还是用的常用操作比较多,比方说一般都是直接按“SPASE”键翻页,很少按Ctrl+f去翻页,以及按Eneter键一行一行翻。
还有比较方便的是可以与其他命令通过管道方式配合使用
#查看/etc/下文件,但是比较多,可以通过more实现翻页显示 [[email protected] test]# ll /etc/ |more +2 -4#从第二行开始读,每次读4行。 drwxr-xr-x. 3 root root 4096 Sep 3 05:42 abrt drwxr-xr-x. 4 root root 4096 Sep 3 05:55 acpi -rw-r--r--. 1 root root 44 Sep 3 22:25 adjtime -rw-r--r--. 1 root root 1512 Jan 12 2010 aliases --More—
三、less 命令
1,less命令与more命令类似都是通过翻页来查看文件的。
-e:当文件显示结束后,自动退出。默认退出是需要按q退出的。
-m:显示进度百分比。
[[email protected] test]# less -me /etc/shadow#-me组合可以得到more命令的效果。
-N:显示行号,在cat中是使用-n来实现。
-s:前面cat、more都讲过,多个连续空行时,显示一行。
-x 数字:将“TAB”键显示为规定的数字空格。
2,常用操作
/字符串:向下搜索
?字符串:向上搜索
d:向后翻半页,联想down。与之对应的u,up向上翻半页。
f:向后翻一页。
b:向前翻一页,联想back,向回退翻一页。
q:退出,man、more均通用。
u:向上翻半页,up之意。
空格键:向后翻一页。
Enter:滚动一行。
3,实例
通过管道技术实现分页显示
[[email protected] test]# ll -l /etc/ |less –eNm
四、head 命令
1,先来man下head。
-n 显示行数
-c 显示字节数
-q 隐藏文件名
2,常用实例
[[email protected] test]# head -n 3 test.txt #只打印前3行 这里是第一行 这里是第三行, 第二行是空行
[[email protected] test]# head -n -3 test.txt#打印开始到倒数第4行,就是把倒数3行砍掉。 这里是第一行 这里是第三行, 第二行是空行 这里是第四行, 这里有个tab键
[[email protected] test]# head -c 10 test.txt#同样只打印前10个字节。 这里是[email protected] test]# [[email protected] test]# head -c -10 test.txt#将倒数10个字节砍掉。 这里是第一行 这里是第三行, 第二行是空行 这里是第四行, 这里有个tab键 这里是第7行,第5,6行[[email protected] test]#
五、tail 命令
1,tail命令与head命令相对应,用法也类似,只是tail参数多一些,tail读取倒数
-n:按行计算
-c:按字节位置
-m:多字节计算
-k:按文件大小k来计算
-f:循环读取,实现实时更新显示
-s:配合-f使用,表示每次更新时间
2,实例
#读取倒数4行 [[email protected] test]# tail -n 4 test.txt 这里是第四行, 这里有个tab键 这里是第7行,第5,6行为空行
#从第4行开始读到最后 [[email protected] test]# tail -n +4 test.txt 这里是第四行, 这里有个tab键 这里是第7行,第5,6行为空行
#实现实时读取并且更新时间为每2s一次 [[email protected] test]# ping 192.168.1.1>ping.log & [1] 8835 [[email protected] test]# tail -f -s 2ping.log 64 bytes from 192.168.1.1: icmp_seq=6ttl=64 time=1.90 ms 64 bytes from 192.168.1.1: icmp_seq=7ttl=64 time=2.77 ms 64 bytes from 192.168.1.1: icmp_seq=8ttl=64 time=1.92 ms 64 bytes from 192.168.1.1: icmp_seq=9ttl=64 time=1.91 ms 64 bytes from 192.168.1.1: icmp_seq=10ttl=64 time=2.42 ms 64 bytes from 192.168.1.1: icmp_seq=11ttl=64 time=2.68 ms
六、wc:print newline, word, and byte counts for each file。即统计文件字节数、字数、行数。
1,可选参数
-c 统计字节数。
-l 统计行数。
-m 统计字符数,注意与-c的区别,并且不能与-c同时使用。
-w 统计字数,“字”指被空白、跳格或换行符分割的字符串。
-L 打印最长行的长度。
2,实例
[[email protected] test]# cat test5.txt 1 a 23 bc 456 def 7890 hijk [[email protected] test]# wc test5.txt 4 8 28test5.txt #4表示行数,8个单词(字),28个字节。
#对比-c,-m和-w的区别 [[email protected] test]# less test7.txt 一 二三 四五六 七八九零 [[email protected] test]# wc -c test7.txt 34 test7.txt [[email protected] test]# wc -m test7.txt 14 test7.txt [[email protected] test]# wc -w test7.txt 4 test7.txt
#不想显示文件名的实现 [[email protected] test]# wc -m test.txt |cut-d ‘ ‘ -f 1 58 [[email protected] test]# cat test.txt |wc -m 58
#统计目录下文件数 [[email protected] test]# ll total 48 -rw-r--r--. 1 root root 6065 Sep 8 09:16 ping.log -rw-r--r--. 1 root root 2196 Sep 7 10:52 test2.txt -rw-r--r--. 1 root root 3561 Sep 7 11:28 test3.txt -rw-r--r--. 1 root root 14341 Sep 7 11:57 test4.txt -rw-r--r--. 1 root root 28 Sep 8 09:50 test5.txt -rw-r--r--. 1 root root 6 Sep 8 09:53 test6.txt -rw-r--r--. 1 root root 34 Sep 8 09:58 test7.txt -rw-r--r--. 1 root root 140 Sep 7 14:03 test.txt [[email protected] test]# ll |sed ‘1d‘ |wc -l 8
总结:
cat、more、less都可以读文件内容,但cat不支持分页显示。more与less支持分页显示,more还能通过-n(-数字)自定义每n行分页,more可以同ctrl+B,F上下翻页,less可以直接按B,F,D,U键直接翻页。less还可以通过-e(显示完退出),-m(显示百分比进度)实现more类似效果。想要显示行号less–N,cat –n。less通过/,?后面直接跟字符串实现上下查找。
head和tail用法类似,都可以通过-n 参数读取行数,但是head–3与head –n 3一样读前3行,head –n -3则表示砍掉最后三行。tail –n 3表示读最后三行,tai –n +3表示从第3行开始到最后。