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指令分頁顯示。