FROM:http://www.360doc.com/content/09/0410/16/61497_3084664.shtml
文本编辑器是非常重要的工具,无论是显示简单文本文件还是需要修改某些系统配置文件。在Red Hat Linux系统中有很多不同的文件显示及编辑处理工具,在此进介绍一些常用的显示及编辑命令。
4.5.1 显示文件内容Cat
最简单、也是最早使用的文本文件命令是 Cat命令,用来将文本内容显示到终端上,其命令格式如下:
# cat [选项]文件列表
常用命令选项如表4--13所示。
选项 |
意义 |
-b |
计算所有非空输出行,开始为1 |
-n |
计算所有空输出行,开始为1 |
-s |
将相连的多个空行用一空行代替 |
-e |
在每行末尾显示$符号 |
4.5.2 查看文件前部 head
如果仅想知道文件前面的一部分,可以使用 head命令来查看文件的前部。其命令格式如下:
# head [选项] 文件列表
常用选项如表4—14所示
表4—14 head 命令常用选项
选项 |
意义 |
-c,--bytes=SIZE |
打印起始的SIZE字节 |
-n,--lines=NUMBER |
显示起始的 NUMBER行,而非默认的起始10行 |
-q |
从不显示给出文件名的部首 |
-v |
总是显示给出文件名的部首 |
如果在标准输出上显示的文件多一个,head将会一个接一个地显示,并且在每个文件显示的首部给出文件名。
例如,如果想显示test.log文件的头两行,可以使用如下命令:
# head –n 2 –v test.log
执行该命令则会显示 test.log文件的头两行。
4.5.3 观察文件末端 tail
同样,也可以仅查看文件的末尾部分。tail命令能够观察文本文件的末端或跟踪文本文件的增长。其命令格式如下:
# tail [选项] 文件名
常用命令选项如表4—15所示。
表4—15 tail命令常用选项
选项 |
意义 |
-c,--bytes=SIZE |
打印最后的 SIZE字节 |
-n,--lines=NUMBER |
显示最后的NUMBER行,而非默认的起始10行 |
-q |
从不显示给出文件名的部首 |
-v |
总是显示给出文件名的部首 |
-f |
当文件增长时,输出后续添加的数据 |
-s,--sleep-interval=S |
与- f合用,表示在每次反复的间隔休眠S秒 |
--pid=PID |
与- f合用,表示在进程ID为 PID的进程死掉之后结束 |
--retry |
即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件,只与- f合用时有用 |
如果在标准输出上显示的文件多于一个, tail将会一个接一个地显示,并且在每个文件显示的首部给出文件名。
例如,如果想显示test.;og文件的末尾两行,可以使用如下命令:
# tail –n 2 –v test.log
执行该命令则会显示test.log文件的末尾两行。
4.5.4 查找文件内容grep
如果想要在 shell 显示中查找某个特定的字符串,可以使用grep命令在文件中查找与给出模式相匹配的内容,其命令格式如下:
# grep [选项]匹配字符串文件列表
命令grep的常用选项如表4—16所示
表4---16 grep命令常用选项
选项 |
意义 |
- c |
对匹配的行计数 |
-l |
只显示包含匹配的文件的文件名 |
-h |
抑制包含匹配的文件的文件名的显示 |
-n |
每个匹配行只按照相对的行号显示 |
-I |
产生不区分大小写的匹配,默认状态是区分大小写 |
-v |
列出不匹配的行 |
查找的各文件之间可用空格分隔。例如,如下图所示,查找test.log文件中包含Linux的内容并显示行号,可以使用如下命令:
# grep –n “linux”test.log
查找当前目录下包含“Linux”的文件并对各文件匹配的行计数,可以使用如下命令:
[root@localhost root]# grep –c “linux” *.*
此外,grep命令还可以和其他命令的结果联合使用,例如命令:
[root@localhost root] # # ls|grep-v “test”
将使grep 接收ls命令的输出,并除去所有包含单词test的文件。从显示结果发现,正是除去了test.c和test.log文件。
4.5.5 分屏显示文件 more和 less
more命令是通用的按页显示命令,也可以用来在终端屏幕显示文件,其命令格式如下:
# more [ 选项] 文件名
more命令的常用选项如表4---17所示。
表4---17 more命令常用选项
选项 |
意义 |
-c |
用 more给文本在翻页时通过从头清除一行,然后再在最后写下一行的方法写入。通常,more清除屏幕,再写每一行 |
-n |
用于建立大小为n行的窗口。窗口大小是在屏幕上显示多少行 |
-d |
显示“Press space to continue,‘q‘quit”代替more 的默认提示符 |
-s |
多个空行压缩处理为一个 |
-p |
不滚屏,代替它的是清屏并显示文本 |
例如,想分页显示文件log.txt,可以使用如下命令:
[root@localhost root]# #more log.txt
less也是通用的按页显示命令,类似more ,也允许浏览文件,但它更加灵活,同时允许在文件中向前和向后移动显示,其命令格式如下:
# less [选项] 文件名
less 命令的常用命令如表4---18所示。
表4---18 less 命令常用选项
选项 |
意义 |
-? |
显示less 接收的命令小结。若给出本选项则忽略其他选项,less 保留并在帮助屏后显示 |
-a |
在当前屏幕显示的最后一行之后开始查询 |
-c |
从顶行向下全屏重写 |
-E |
第一行到文件尾后自动退出 less。若默认,唯一退出 less的方式是通过q 命令。 |
-n |
去掉行号 |
-s |
将多个空行压缩成一个行 |
-x n |
每次按制表符走 n格,n 的默认值上8 |
通过 more 及 less命令,用户可以非常容易地分屏显示较大的文件。
4.5.6 文本编辑工具 vi
vi 是Linux 下最常用的文本编辑工具,其命令格式如下:
# vi 文件名
进入 vi 编辑环境后,可以非常容易地使用该编辑器,在前面的章节中已经介绍过了,在此不再更多地介绍了。仅举几个例子说明。例如,使用 vi 对test.log进行编辑,可以使用如下命令:
[root@localhost root] # vi text.log
按下“i”或“Insert”键,系统将进入插入状态 ,可以对文件进行编辑,执行命令。
编辑结束后,按〈Esc〉键将返回命令模式,使用命令“;wq”,系统将保存对文件的修改,并退出。
这时查看文件test.log可以看到,新做的修改已经保存。更多内容请详见本书相关章节或其他资料。