一,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 之外

2cat一般作为查看文件命令,也可以用来创建文件

[root@localhost test]# cat > test.txt
这里是第一行
 
这里是第三行,第二行是空行
这里是第四行
^C
[root@localhost test]# cat test.txt
这里是第一行
 
这里是第三行,第二行是空行
这里是第四行
[root@localhost test]# cat test.txt/etc/passwd >test2.txt
[root@localhost test]# cat test2.txt
这里是第一行
 
这里是第三行,第二行是空行
这里是第四行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
。。。。。。。。。#此处省略

3,使用cat查看文件

[root@localhost test]# cat test.txt
这里是第一行
 
这里是第三行,  第二行是空行
这里是第四行,   这里有个tab键
 
 
这里是第7行,第5,6行为空行
[root@localhost test]# cat -nT test.txt #对每行均显示编号
    1  这里是第一行
    2
    3  这里是第三行,^I第二行是空行
    4  这里是第四行,^I这里有个tab键
    5
    6
    7  这里是第7行,第5,6行为空行
[root@localhost test]# cat -bT test.txt 忽略空行编号
    1  这里是第一行
 
    2  这里是第三行,^I第二行是空行
    3  这里是第四行,^I这里有个tab键
 
 
    4  这里是第7行,第5,6行为空行
[root@localhost test]# cat -sT test.txt #-s多个空行时只显示单个空行
这里是第一行
 
这里是第三行,^I第二行是空行
这里是第四行,^I这里有个tab键
 
这里是第7行,第5,6行为空行
[root@localhost test]# cat -snT test.txt
    1  这里是第一行
    2
    3  这里是第三行,^I第二行是空行
    4  这里是第四行,^I这里有个tab键
    5
    6  这里是第7行,第5,6行为空行
[root@localhost test]# cat -bnT test.txt
    1  这里是第一行
 
    2  这里是第三行,^I第二行是空行
    3  这里是第四行,^I这里有个tab键
 
 
    4  这里是第7行,第5,6行为空行

二、more 命令

1,常用可选参数

[root@localhost test]# more -2 test.txt #-n自定义屏幕大小为n行,即n行n行分页显示
这里是第一行
 
这里是第三行,  第二行是空行
这里是第四行,   这里有个tab键
 
 
这里是第7行,第5,6行为空行
[root@localhost test]# more +3 -s test.txt#+n 从第n行开始显示,-s多个空行时显示一行。
这里是第三行,  第二行是空行
这里是第四行,   这里有个tab键
 
这里是第7行,第5,6行为空行

-c:从底部清屏,然后显示,-p也是类似效果。

2,常用操作,与cat区别在于,more能够分页显示,按进度一页一页显示出来,而cat是一次性全部打印出来。故more更多通过键盘控制阅读。需要多用就会记得啦。

    1Enter :向下翻一行,其实可以自定义的,只是默认每按一次Enter翻一行。

    2Ctrl+F:向下滚动一屏,组合键,f不区分大小写。也可以直接按“SPASE”键实现。

    3Ctrl+B:同Ctrl +F对立,向上翻一屏。

    4v :直接调用vi编辑器。

    5)!命令:看到一半是敲个shell命令。

    6q:不想看下去了,按q键退出。与man命令一样,man也是按q退出。当然也可以通过Ctrl+c直接暴力掐断。

3,实际使用还是用的常用操作比较多,比方说一般都是直接按“SPASE”键翻页,很少按Ctrl+f去翻页,以及按Eneter键一行一行翻。

还有比较方便的是可以与其他命令通过管道方式配合使用

#查看/etc/下文件,但是比较多,可以通过more实现翻页显示
[root@localhost 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 命令

1less命令与more命令类似都是通过翻页来查看文件的。

-e:当文件显示结束后,自动退出。默认退出是需要按q退出的。

-m:显示进度百分比。

[root@localhost test]# less -me /etc/shadow#-me组合可以得到more命令的效果。

-N:显示行号,在cat中是使用-n来实现。

-s:前面catmore都讲过,多个连续空行时,显示一行。

-x 数字:将“TAB”键显示为规定的数字空格。

2,常用操作

/字符串:向下搜索

?字符串:向上搜索

d:向后翻半页,联想down。与之对应的uup向上翻半页。

f:向后翻一页。

b:向前翻一页,联想back,向回退翻一页。

q:退出,manmore均通用。

u:向上翻半页,up之意。

空格键:向后翻一页。

Enter:滚动一行。

3,实例

通过管道技术实现分页显示

[root@localhost test]# ll -l /etc/ |less –eNm

四、head 命令

1,先来manhead

-n 显示行数

-c 显示字节数

-q 隐藏文件名

2,常用实例

[root@localhost test]# head -n 3 test.txt #只打印前3行
这里是第一行
 
这里是第三行,  第二行是空行
[root@localhost test]# head -n -3 test.txt#打印开始到倒数第4行,就是把倒数3行砍掉。
这里是第一行
 
这里是第三行,  第二行是空行
这里是第四行,   这里有个tab键
[root@localhost test]# head -c 10 test.txt#同样只打印前10个字节。
这里是ot@localhost test]#
[root@localhost test]# head -c -10 test.txt#将倒数10个字节砍掉。
这里是第一行
 
这里是第三行,  第二行是空行
这里是第四行,   这里有个tab键
 
 
这里是第7行,第5,6行[root@localhost test]#

五、tail 命令

1tail命令与head命令相对应,用法也类似,只是tail参数多一些,tail读取倒数

-n:按行计算

-c:按字节位置

-m:多字节计算

-k:按文件大小k来计算

-f:循环读取,实现实时更新显示

-s:配合-f使用,表示每次更新时间

2,实例

#读取倒数4行
[root@localhost test]# tail -n 4 test.txt
这里是第四行,   这里有个tab键
 
 
这里是第7行,第5,6行为空行
#从第4行开始读到最后
[root@localhost test]# tail -n +4 test.txt
这里是第四行,   这里有个tab键
 
 
这里是第7行,第5,6行为空行
#实现实时读取并且更新时间为每2s一次
[root@localhost test]# ping 192.168.1.1>ping.log &
[1] 8835
[root@localhost 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

六、wcprint newline, word, and byte counts for each file。即统计文件字节数、字数、行数。

1,可选参数

-c 统计字节数。

-l       统计行数。

-m    统计字符数,注意与-c的区别,并且不能与-c同时使用。

-w     统计字数,“字”指被空白、跳格或换行符分割的字符串。

-L      打印最长行的长度。

2,实例

[root@localhost test]# cat test5.txt
1 a
23 bc
456 def
7890 hijk
[root@localhost test]# wc test5.txt
 4  8 28test5.txt
#4表示行数,8个单词(字),28个字节。
#对比-c,-m和-w的区别
[root@localhost test]# less test7.txt
一
二三
四五六
七八九零
[root@localhost test]# wc -c test7.txt
34 test7.txt
[root@localhost test]# wc -m test7.txt
14 test7.txt
[root@localhost test]# wc -w test7.txt
4 test7.txt
#不想显示文件名的实现
[root@localhost test]# wc -m test.txt |cut-d ' ' -f 1
58
[root@localhost test]# cat test.txt |wc -m
58
#统计目录下文件数
[root@localhost 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
[root@localhost test]# ll |sed '1d' |wc -l
8

 

总结:

catmoreless都可以读文件内容,但cat不支持分页显示。moreless支持分页显示,more还能通过-n数字)自定义每n行分页,more可以同ctrl+B,F上下翻页,less可以直接按B,F,D,U键直接翻页。less还可以通过-e(显示完退出),-m(显示百分比进度)实现more类似效果。想要显示行号less–Ncat –nless通过/,?后面直接跟字符串实现上下查找。

headtail用法类似,都可以通过-n 参数读取行数,但是head–3head –n 3一样读前3行,head –n -3则表示砍掉最后三行。tail –n 3表示读最后三行,tai –n +3表示从第3行开始到最后。