3.2-3 tac、more
3.2 tac命令
是cat的反向拼写,因此命令的功能为反向显示文件内容。cat命令是从第一行开始读取文本输出的,而tac则是从最后一行开始读取文本并进行反向输出,需要注意的是,2个命令都是以一行文本为单位的,每行文本的顺序不会改变的。
-b 在行前而非行尾添加分隔标志
-r 将分隔标志视作正则表达式来解析
-s 使用指定字符串代替换行作为分隔标志
cat命令与tac命令的对比
[root@cs6-mini scripts]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local [root@cs6-mini scripts]# tac /etc/rc.local touch /var/lock/subsys/local #<==可以着到是最后一行最先输出,但是这行文本的字符顺序并没有故变。 # want to do the full Sys V style init stuff. # You can put your own initialization stuff in here if you don't # This script will be executed *after* all the other init scripts. # #!/bin/sh
3.3 more:分页显示文件内容
more命令的功能类似于cat,但cat命令是将整个文件的内容一次性显示在屏幕上,而more则会一页一页地显示文件内容。但more的功能还是比较简单的,有一个增强版的命令是less,将在3.4节讲解。
more命令的参数选项及说明
-num 指定屏幕显示大小为num行
+num 从行号num开始显示
-s 把连续的多个空行显示为一行
-p 不滚屏,而是清除整个屏幕,然后显示文本
-c 不滚屏,而是从每一屏的顶部开始显示文本,每显示完一行,就清除这一行的剩余部分
在交互模式下,使用more命令打开文本之后,会进人一个基于vi的交互界面,在这里可以使用部分vi编辑器的功能,如搜索功能,还可以切换到vi编辑器。表3-5给出了more命令的交互式子命令。
more命令的交互式子命令及说明
h或? 查看帮助 空格键 向下滚动一屏 z 向下滚动一屏 #<==说明:有很多参数的功能是一样的,因此大家记住一个即可 Enter 向下显示1行 f 向下滚动一屏 b 返回上一屏 = 输出当前行的行号 /查找的文本 查找指定的文本 :f 输出文件名和当前行的行号 !命令 调用Shell,并执行命令 q 退出more
more 命令后面不接任何参数。
大家可以在上面的交互界面实验一下常用的交互命令,比如按空格键往下翻一屏,按“b”往上翻一屏,若想要查找“3306”,则先按一个“/”,然后输入“3306”单击回车即可找到。
定义显示的行数
[root@cs6-mini ~]# more -5 /etc/services # /etc/services: # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $ # # Network services, Internet style # IANA services version: last updated 2009-11-10
从指定的行数开始显示内容
[root@cs6-mini ~]# more +888 /etc/services cableport-ax 282/tcp # Cable Port A/X cableport-ax 282/udp # Cable Port A/X rescap 283/tcp # rescap rescap 283/udp # rescap corerjd 284/tcp # corerjd corerjd 284/udp # corerjd fxp 286/tcp # FXP Communication fxp 286/udp # FXP Communication k-block 287/tcp # K-BLOCK k-block 287/udp # K-BLOCK novastorbakcup 308/tcp # Novastor Backup novastorbakcup 308/udp # Novastor Backup entrusttime 309/tcp # EntrustTime entrusttime 309/udp # EntrustTime bhmds 310/tcp # bhmds bhmds 310/udp # bhmds asip-webadmin 311/tcp # AppleShare IP WebAdmin asip-webadmin 311/udp # AppleShare IP WebAdmin vslmp 312/tcp # VSLMP vslmp 312/udp # VSLMP magenta-logic 313/tcp # Magenta Logic magenta-logic 313/udp # Magenta Logic opalis-robot 314/tcp # Opalis Robot
分页显示目录下的内容
[root@cs6-mini ~]# ls /etc/|more -10 adjtime aliases aliases.db alternatives anacrontab audisp audit bash_completion.d bashrc blkid
#<==/etc/下有很多文件目录,直接ls查看则会显示太多内容,所以可以借助more命令分页显示。