cat
创建示例文件test
内容如下:
第一行:first line
第二行:second line
第三行:[tab]third line
第四行:只有换行符
第六行:endline
功能:(concatenate)将一个文件的内容打印到屏幕上
常用参数:
默认情况,cat只显示文本内容,对不可见字符无特殊处理
$ cat test
first line
second line
third line
end line
- -n 打印行号
$ cat -n test
1 first line
2 second line
3 third line
4
5
6 end line
- -b 打印行号,与
-n
不同在于,不会打印空白行的行号
$ cat -b test
1 first line
2 second line
3 third line
4
5 end line
- -E 将换行符以字符
$
的形式显示出来
$ cat -E test
first line$
second line$
$
$
end line$
- -T 将[tab]键以
^I
符号显示出来的的
$ cat -T test
first line
second line
^Ithird line
^I
end line
- -v 显示出不可见字符(暂时理解不清楚)
- -A 相当于 -vET的整合选项
$ cat -A test
first line$
second line$
^Ithird line$
$
^I$
end line$
tac
功能:(cat倒着写)按找逆序的方式显示文件内容
$ tac test
end line
third line
second line
first line
nl
功能:打印内容的同时打印行号
常用参数:
默认情况:nl在行号栏左端显示行号,不显示空白行行号,空白位不补0
$ nl test
1 first line
2 second line
3 third line
4
5 end line
- -b
- -b a 打印每一行行号,与
cat -n
类似,在样例文件中输出相同,下同 - -b t 不打印空白行的行号, 与
cat -b
类似
- -b a 打印每一行行号,与
- -w 设置行号占用的字符数。如下,设置字符数为2,行号左侧出现空格
$ nl -w 2 test
1 first line
2 second line
3 third line
4
5 end line
- -n
- ln 在屏幕最左端显示行号
- rn 在行号栏最右端显示行号
- rz 在行号栏显示行号,且在空格处补0
$ nl -n rn test
1 first line
2 second line
3 third line
4
5 end line
$ nl -w 2 -n rz test
01 first line
02 second line
03 third line
04
05 end line
more
功能:可以将包含文件中的内容分页显示出来
常用命令:
- more file: 进入more命令界面
- 回车[enter]: 显示下一行,对于管道无效
- 退格[Backspace]: 向下翻页,
B
: 向上翻页 :f
:显示文件名,目前的行数/string
:查找字符串,与vim相似
less
功能:相对more
功能更加丰富,易于使用
more
在管道下无法翻页,对于less
,在管道,文件下均可通过[page up]
[page down]
(或者,B
,[Backspace]
)翻页/string
,?string
向上,向下查找字符串g
:前进至第一行。G
:前进至最后一行q
:离开less
界面
head
功能:显示前面几行
- -n:后面接数字,表示要显示的行数。如果后接数字x为负,则表示除最后x行,全部显示。
tail
功能:显示后面几行
- -n:后面接数字,表示要显示的行数。如果后接数字+x格式,则表示除x行之前的行,全部显示。
od
功能:以不同格式显示数据
- -t
- c 使用ASCII显示文件
- size 设置为1显示更加清晰易读,其他大小可以自行尝试
- d[size] 使用十进制显示数据
- o[size] 使用八进制显示数据
- x[size] 使用十六进制显示数据
- f[size] 使用浮点数显示数据(暂时未找到合适测试文件)
tmp.bin原始数据如下:
$ cat -A tmp.bin
abcd$
wxyz$
$ od -t c tmp.bin
0000000 a b c d
w x y z
0000012
左侧为八进制格式的字节数,0000012
表示第一行显示了10(1*8+2)字节
$ od -t d1 tmp.bin
0000000 97 98 99 100 10 119 120 121 122 10
0000012
容易知道,a b c
对应的ascii值97, 98, 99
。
参考
《鸟哥的linux私房菜》