在linux下,查阅文件命令时,如果想将文件里面所有内容都连续的显示到屏幕上,可以用cat这个命令。cat是从第一行开始显示文件内容。而tac则是从最后一行开始显示文件内容,可以看出tac是cat的倒着写。下面介绍命令的用法及参数分析。
cat(concatenate)用法及参数分析
[root@lmode ~]# cat [-AbEnTv]
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行则不显示行号!
-E :将结尾的断行字节 $ 显示出来;
-n :显示出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
实例1:查阅/etc/issue这个文件的内容
[root@lmode~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
从打印的内容可以看出来,/etc/issue这个文件的内容包括了本机Linux的发行商及版本信息。
实例2:将显示内容带上行号
[root@lmode ~]# cat -n /etc/issue
1 CentOS release 6.5 (Final)
2 Kernel \r on an \m
3
cat这个命令只适合显示文件内容中行数比较少的,一般当文件内容超过40行,就不适合用cat这个命令了,因为显示的内容已经超过了屏幕能容纳的范围,当文件内容行数较多的时候可以选择用more或less命令。
和cat相反的命令是tac,tac是有最后一行到第一行反向显示文件内容到屏幕上。可以看下面的例子:
实例3:反向显示/etc/issue里面的内容
[root@lmode ~]# tac /etc/issue
Kernel \r on an \m
CentOS release 5.3 (Final)
----------------------------------
Linux下的nl命令
nl命令也是显示文件内容的命令,和cat命令有点相似,不过又有区别。下面介绍nl命令的用法和参数:
[root@lmode ~]# nl [-bnw] 文件
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在屏幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
范例一:用 nl 列出 /etc/issue 的内容
[root@lmode ~]# nl /etc/issue
1 CentOS release 6.5 (Final)
2 Kernel \r on an \m
# 注意看,这个文件其实有三行,第三行为空白(没有任何显示),
# 因为是空白行,所以 nl 不会加上行号。
范例二:在空白行也加上行号
[root@lmode ~]# nl -b a /etc/issue
1 CentOS release 6.5 (Final)
2 Kernel \r on an \m
3
范例3:让行号前面自动补上 0
[root@lmode ~]# nl -b a -n rz /etc/issue
000001 CentOS release 6.5 (Final)
000002 Kernel \r on an \m
000003
默认栏位是六位数,如果想要改成 3 位数呢,可以这样:
[root@lmode ~]# nl -b a -n rz -w 3 /etc/issue
001 CentOS release 5.3 (Final)
002 Kernel \r on an \m
003
nl 可以将输出的文件内容自动的加上行号。其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
No comments:
Post a Comment