- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
- nl 显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head 只看头几行
- tail 只看尾巴几行
- od 以二进位的方式读取文件内容!
- cat (concatenate)
[root@www ~]# cat [-AbEnTv] 选项与参数: -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! -E :将结尾的断行字节 $ 显示出来; -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同; -T :将 [tab] 按键以 ^I 显示出来; -v :列出一些看不出来的特殊字符 范例一:检阅 /etc/issue 这个文件的内容 [root@www ~]# cat /etc/issue CentOS release 5.3 (Final) Kernel \r on an \m 范例二:承上题,如果还要加印行号呢? [root@www ~]# cat -n /etc/issue 1 CentOS release 5.3 (Final) 2 Kernel \r on an \m 3 # 看到了吧!可以印出行号呢!这对於大文件要找某个特定的行时,有点用处! # 如果不想要编排空白行的行号,可以使用『cat -b /etc/issue』,自己测试看看: 范例三:将 /etc/xinetd.conf 的内容完整的显示出来(包含特殊字节) [root@www ~]# cat -A /etc/xinetd.conf #$ ....(中间省略).... $ defaults$ {$ # The next two items are intended to be a quick access place to$ ....(中间省略).... ^Ilog_type^I= SYSLOG daemon info $ ^Ilog_on_failure^I= HOST$ ^Ilog_on_success^I= PID HOST DURATION EXIT$ ....(中间省略).... includedir /etc/xinetd.d$ $ # 上面的结果限於篇幅,鸟哥删除掉很多数据了。另外,输出的结果并不会有特殊字体, # 鸟哥上面的特殊字体是要让您发现差异点在哪里就是了。基本上,在一般的环境中, # 使用 [tab] 与空白键的效果差不多,都是一堆空白啊!我们无法知道两者的差别。 # 此时使用 cat -A 就能够发现那些空白的地方是啥鬼东西了![tab]会以 ^I 表示, # 断行字节则是以 $ 表示,所以你可以发现每一行后面都是 $ 啊!不过断行字节 # 在Windows/Linux则不太相同,Windows的断行字节是 ^M$ 罗。 # 这部分我们会在第十章 vim 软件的介绍时,再次的说明到喔!
- tac (反向列示)
[root@www ~]# tac /etc/issue Kernel \r on an \m CentOS release 5.3 (Final) # 嘿嘿!与刚刚上面的范例一比较,是由最后一行先显示喔!
- nl (添加行号列印)
[root@www ~]# nl [-bnw] 文件 选项与参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: -n ln :行号在萤幕的最左方显示; -n rn :行号在自己栏位的最右方显示,且不加 0 ; -n rz :行号在自己栏位的最右方显示,且加 0 ; -w :行号栏位的占用的位数。 范例一:用 nl 列出 /etc/issue 的内容 [root@www ~]# nl /etc/issue 1 CentOS release 5.3 (Final) 2 Kernel \r on an \m # 注意看,这个文件其实有三行,第三行为空白(没有任何字节), # 因为他是空白行,所以 nl 不会加上行号喔!如果确定要加上行号,可以这样做: [root@www ~]# nl -b a /etc/issue 1 CentOS release 5.3 (Final) 2 Kernel \r on an \m 3 # 呵呵!行号加上来罗~那么如果要让行号前面自动补上 0 呢?可这样 [root@www ~]# nl -b a -n rz /etc/issue 000001 CentOS release 5.3 (Final) 000002 Kernel \r on an \m 000003 # 嘿嘿!自动在自己栏位的地方补上 0 了~默认栏位是六位数,如果想要改成 3 位数? [root@www ~]# nl -b a -n rz -w 3 /etc/issue 001 CentOS release 5.3 (Final) 002 Kernel \r on an \m 003 # 变成仅有 3 位数罗~
- more (一页一页翻动)
[root@www ~]# more /etc/man.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中间省略).... --More--(28%) <== 重点在这一行喔!你的光标也会在这里等待你的命令 |
仔细的给他看到上面的范例,如果 more 后面接的文件内容行数大於萤幕输出的行数时,就会出现类似上面的图示。重点在最后一行,最后一行会显示出目前显示的百分比,而且还可以在最后一行输入一些有用的命令喔!在 more 这个程序的运行过程中,你有几个按键可以按的:
- 空白键 (space):代表向下翻一页;
- Enter :代表向下翻『一行』;
- /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
- :f :立刻显示出档名以及目前显示的行数;
- q :代表立刻离开 more ,不再显示该文件内容。
- b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
- less (一页一页翻动)
[root@www ~]# less /etc/man.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中间省略).... : <== 这里可以等待你输入命令! |
less 的用法比起 more 又更加的有弹性,怎么说呢?在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,呵呵!就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,你瞧,是不是更容易使用来观看一个文件的内容了呢!
除此之外,在 less 里头可以拥有更多的『搜寻』功能喔!不止可以向下搜寻,也可以向上搜寻~实在是很不错用~基本上,可以输入的命令有:
- 空白键 :向下翻动一页;
- [pagedown]:向下翻动一页;
- [pageup] :向上翻动一页;
- /字串 :向下搜寻『字串』的功能;
- ?字串 :向上搜寻『字串』的功能;
- n :重复前一个搜寻 (与 / 或 ? 有关!)
- N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
- q :离开 less 这个程序;

我们可以将输出的数据作一个最简单的撷取,那就是取出前面 (head) 与取出后面 (tail) 文字的功能。不过,要注意的是, head 与 tail 都是以『行』为单位来进行数据撷取的喔!
- head (取出前面几行)
[root@www ~]# head [-n number] 文件 选项与参数: -n :后面接数字,代表显示几行的意思 [root@www ~]# head /etc/man.config # 默认的情况中,显示前面十行!若要显示前 20 行,就得要这样: [root@www ~]# head -n 20 /etc/man.config 范例:如果后面100行的数据都不列印,只列印/etc/man.config的前面几行,该如何是好? [root@www ~]#