8.2.3 显示文件内容命令
在Linux系统中,常用的显示文件内容命令有:cat、more、less、head和tail,用户需要查看一个文件的内容时,可以根据需求的不同选用不同的显示文件内容命令。
(1)cat
cat命令的功能是在屏幕上显示一个或多个文件的内容。一般使用该命令来显示短文本文件的内容,其语法格式如下所示:
cat [选项] 文件名
该命令的常用选项有:
-b:为文件的所有非空行编号,编号从l开始。
-n:将文件按行来进行编号。与-b不同的是它对文件所有行编号,其中包括空行。
例如,可以使用下述命令来显示文本文件的内容:
$cat test.txt
Today is my birthday,
I am very happy,
Because my friend give me a lovely present…
可以使用-n选项在阅读文件时加上行号,例如:
$cat –n test.txtt
1 Today is my birthday,
2 I am very happy,
3 Because my friend give me a lovely present…
因为cat命令也接受通配符,所以还能使用cat命令一次查看多个文件:
$cat –n test*
1 Today is my birthday,
2 I am very happy,
3 Because my friend give me a lovely present…
4 This is the first line of test2.txt.
5 This file was created by cat.
6 This is the last line of test2.txt.
正如所看到的,cat命令在它的输出中包含了另外一个文件,并为整个输出结果的每一行加上了行号,还可以使用下面的方法来查看这两个文件:
$cat test.txt test2.txt
这个命令的输出结果与使用通配符的时候看到的结果完全一样。
同时查看几个文件只是cat命令的一种用法,还可以使用cat命令和重定向操作符(“〉”)来合并文件,例如,若想把文件test.txt与文件test2.txt合并到test3.txt文件中,可以使用下述命令:
$cat test* 〉 test3.txt
使用下面的方法可以检查操作结果:
$ls -l test*
-rw-r--r-- 1 zheng zheng 83 Jan 4 16:06 test.txt
-rw-r--r-- 1 zheng zheng l03 Jan 4 16:17 test2.txt
-rw-r--r-- 1 zheng zheng 186 Jan 4 16:30 test3.txt
使用cat命令也可以建立短文本文件。例如,若要建立的文件名为myfile.txt,则可以使用:
$cat 〉 myfile.txt
现在输入一些文本内容,如下所示:
This is the cat word processor.
This is the end of the file.
现在按下“Ctrl+D”来结束文件输入。使用下面的命令查看是否建立了文件:
$ls -l myfile.txt
-rw-r--r-- 1 zheng zheng 61 Jan 4 16:51 myfile.txt
$cat myfile.txt
This is the cat word processor.
This is the end of the file.
(2)more
more命令的功能是分页显示文件内容,这在阅读长文本时特别有用。more命令的语法格式如下:
more [选项] 文件名
more命令每次显示一屏文本信息,然后暂停显示,并在终端底部显示出“—More--”,若要继续显示,可以按回车键显示下一行或按空格键显示下一页,例如:
$more longfile.txt
more命令是一个传统的分页命令,它提供了早期分页命令的基本特色,如果需要查看帮助信息,敲“H”键就会看到一个帮助画面,还可以用惊叹号“!”从more命令中执行其他命令。
(3)less
less命令的功能与more命令类似,即分页显示文件内容。但less命令的功能比mor e命令更强大。
less命令提供了许多比more命令更优秀的功能:
·可以用方向键前后翻阅文本文件。
·可以以行数或百分比作为书签来浏览文件。
·可以实现在多个文件中进行复杂的检查、格式匹配、高亮显示等功能。
·键盘操作与字处理程序如emacs兼容。
·阅读到文件结束或标准输入结束时less命令不会退出。
·屏幕底部的信息提示符更容易控制使用,并提供更多的信息。
·带有许多附件,包括一个独立的键定义程序lesskey,这样可以定义使用哪个按键来控制less命令。
在安装了Linux后,less命令是许多程序(如man命令)使用的缺省分页命令。
为了说明该命令的使用,首先使用ls命令建立一个内容为子目录/usr/bin中所有命令的文本文件,如下所示:
$ls /usr/bin 〉 com.txt
该命令建立了一个名为com.txt的文本文件,然后使用less命令阅读这个文件,如下所示:
$less com.txt
less命令装入该文件并显示文件开头的一些行。如果想向下翻一页,按空格键。如果想向上翻一页,按“B”键。也可以用光标键向前、后、左、右移动。一般情况下,less命令的命令提示符是显示在屏幕左下角的一个冒号(:)。还可以使用命令行选项-M看到更多关于文件的信息,如下所示:
$less -M com.txt
现在,当浏览文件的时俟,less命令将显示出这个文件的名字、当前页码及总的页码、表示当前位置在整个文件中的位置的百分比数值,如下所示:
com.txt line 1-23/1488 1%
这表明正在阅读的是文件com.txt,当前屏幕上显示的是该文件的第1至第23行,文件总行数为1488。如果想在less中运行其他程序,如wc字数统计程序,需要敲入一个惊叹号(!),后跟需运行的命令,如下所示:
!wc com.txt
wc程序将在屏幕上显示文件com.txt的行数、字数和字符数,其当这个命令执行完毕之后,less命令显示done并等待用户按下回车键。
还可以使用搜索命令在一个文本文件中进行快速查找。方法如下:先按下斜杠键(/),再输入一个单词或词组的一部分。less命令会在文本文件中进行快速查找,并把找到的第一个搜索目标高亮度显示。如果希望继续查找,请按下斜杠键(/),再按下回车键。如果想退出阅读,请按下Q键就返回到Shell命令行。
(4)head和tail
如果用户希望查看一个文件究竟保存的是什么内容,可以只查看文件开头的几行,而不必浏览整个文件。
head命令的功能是显示文件或标准输入的头几行,其命令格式如下所示:head [选项] 文件名列表其中“文件名列表”是用户希望显示的文件名,用空格符分隔。如果省略文件名列表,则从标准输入读取文本;如果有多个文件,则会在文件名前面加上“==〉文件名〈==”,以便于区分不同文件。
该命令的常用选项有:
-c N:显示文件的前N个字节。
-n N:显示文件的前N行,默认值是l0。
如果不指定选项,默认设置为显示文件的前10行。
例如,要显示文件com.txt的前10行,可使用以下命令:
$head com.txt
要显示文件com.txt的前4行,可使用以下命令:
$head –n 4 com.txt
如果用户想查看文件尾部的内容,可以使用tail命令。tail命令的功能是把指定文件或标准输入文件末尾的内容显示在标准输出设备上,该命令的语法格式如下:
tail [选项] 文件名列表
其中“文件名列表”是用户希望显示的文件名,用空格符分隔。如果省略文件名列表,则从标准输入读取文本。如果有多个文件,则会在文件名前面加上“==〉文件名〈==”,以便于区分不同文件。
该命令的常用选项有:
-c N:显示文件的最后N个字节。
-n N:显示文件的最后N行,默认值是l0。
如果不指定选项,默认设置为显示文件的最后10行。
例如,要显示文件/etc/passwd的最后8行,可使用以下命令:
$tail –n 8 /etc/passwd
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。