1. 程式人生 > >Linux(14)RedHat7 基本命令十二--more命令詳解

Linux(14)RedHat7 基本命令十二--more命令詳解

導言

  今天博文講述另一個檢視檔案內容的命令,這個命令是more。more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明檔案,請按 h 。   more命令從前向後讀取檔案,因此在啟動時就載入整個檔案。

more

作用

  對於linux來說,more的作用它的英文解釋是"file perusal filter for crt viewing",這裡對後面的“crt viewing”不用太過於關注,只是指出了more顯示內容是怎麼顯示的。具體的是在前部分,“file perusal filter”,也就是說,more的作用相當於檔案閱讀過濾器

  more的確具備很好的功能,相比cat的單調顯示行號來說,而且more是一頁一頁顯示,而cat則完全顯示出來,如果檔案內容過多,很可能就看不見cat列印到screen的資訊,所以more的重要性就出來了,因為可以一頁一頁(準確的是一屏一屏的大小)看,還可以從中查詢想要的資訊,不過可惜的是more只能向後翻頁

用法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...]

詳細全選項引數解釋

選項 含義(作用)
-num 此選項指定一個整數,它是螢幕大小(以行為單位),即一次在一屏screen中顯示檔案內容的行數為num行。
-d 將在畫面下方顯示 [Press space to continue, ‘q’ to quit.] 提示使用者。如果按錯鍵,則會顯示 [Press ‘h’ for instructions.] 而不是響鈴。
-l 更常見的是將^ L(換頁符)視為特殊字元,並在包含換頁符的任何行之後暫停。 -l選項將阻止此行為。
-f 計算行數時,以實際上的行數,而非自動換行過後的行數(有些單行字數太長的會被擴充套件為兩行或兩行以上)
-p 不以捲動的方式顯示, 而是先清除整個螢幕,然後顯示文字。
-c 從頂部繪製每個螢幕,清除每行顯示的其餘部分,與-p選項類似,但-c是先顯示內容再清除其他舊資料。
-s 將多個空白行擠壓成一個(當遇到有連續兩行以上的空白行,就代換為一行的空白行)。
-u 不顯示下劃線(underlining) (根據環境變數 TERM 指定的 terminal 而有所不同)
+/pattern 選項指定在顯示每個檔案之前將搜尋的字串(pattern格式)。

命令選項(與vi類似)

  該處命令很實在,是當你在閱讀時,輸入部分命令完成特定功能。如果忘記了,直接按h鍵可以提示你有哪些。最常用的可能是空格鍵翻頁和Enter鍵翻開下一行。注意下面寫的^X 意思是 ctrl+X

命令 作用
h 或 ? 幫助:顯示這些命令的摘要。 如果您忘記了所有其他命令,請記住這一個。
SPACE 按住空格鍵,顯示下一行k行文字。預設為當前螢幕大小。
z 顯示下一行k行文字。預設為當前螢幕大小。引數成為新的預設值。
RETURN 目前鍵盤上可能是Enter鍵。顯示下一行k行文字。預設為1.引數成為新的預設值。
d 或 ^D 滾動k行。預設為當前滾動大小,最初為11.引數變為新的預設值。
q 或 Q 或 INTERRUPT 退出。值得注意的是,INTERRUPT應是Ctrl+C快捷鍵。
s 向前跳過k行文字,預設為1,然後重新整理一屏大小的檔案內容。
f 跳過k螢幕文字,預設為1,相當於按住兩次空格鍵只觀測到第二次空格鍵顯示內容。
b 或 ^B 向後跳過k螢幕文字。 預設為1.僅適用於檔案,而不適用於管道。
轉到上一個搜尋開始的位置。
= 顯示當前行號。
/pattern 搜尋正則表示式的第k次出現, 預設為1。
n 搜尋最後一次r.e的第k次出現,預設為1,與/pattern配合使用。
!<cmd> 或 :!<cmd> 在subshell中,呼叫Shell,並執行命令
v 在當前行啟動編輯器。 編輯器取自環境變數VISUAL(如果已定義)或EDITOR(如果未定義VISUAL),或預設為“vi”(如果未定義VISUAL或EDITOR)。
^L 重繪螢幕
:n 如果有多個檔案,轉到第k個下一個檔案,預設為1。如果more後不是檢視多個檔案,則直接退出。
:p :n相反,轉到第k個上一個檔案, 預設為1。
:f 顯示當前檔名和行號
. 重複上一個命令,模式尋找的時候重複往下查詢,該命令很有用。

實踐一-每次顯示指定行數

  本次實踐是每次螢幕顯示五行,然後可以按空格鍵翻頁。

more -5 /etc/pnm2ppa.conf

  結果如下:

[[email protected] 桌面]$ more -5 /etc/pnm2ppa.conf 
# Sample configuration file 
#
# This file will be automatically read upon startup if it is placed in
# /etc/pnm2ppa.conf
#
--More--(1%)

實踐二-從指定行開始顯示檔案內容

  還是實踐一的檔案,檢視從第三行開始。

more +3 /etc/pnm2ppa.conf 

  結果如下:

# /etc/pnm2ppa.conf
#
# uncomment entries by removing "#" to activate them.
#
#-----------set the printer model---------------------------
# YOU MUST CHOOSE ONE OF THE FOLLOWING, EVEN IF YOU DO NOTHING ELSE!
# 
# If there is more than one "version" entry activated, the last one
# will be used.   The printer version can also be set with the command line
# option e.g., "-v 720".

#version  720	# 710, 712, 722 also acceptable
#version  820
#version 1000


#--------control system log messages from pnm2ppa-------------------
# pnm2ppa issues progress and error messages to the system log (syslog).
# For security reasons, no  input from the user is ever sent to the syslog.
# The setting "silent 1" suppresses messages to the syslog.   The
# setting "verbose 1"  sends messages to the standard error stream (stderr)
# in addition to the syslog. (Note: on BeOS,  syslog messages are
--More--(15%)

結語

  還有模式匹配等的字串查詢的,大家可以自行嘗試,本次就實踐兩個到這裡為止,後面會講述less命令。more與less兩者的差別也會講less的時候會指出。