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命令分页显示。
 
 
posted @ 2020-01-19 15:39  元贞  阅读(144)  评论(0编辑  收藏  举报