1. 程式人生 > >shell: 檔案顯示命令cat、more、less、tail、touch、od詳解

shell: 檔案顯示命令cat、more、less、tail、touch、od詳解

cat命令 cat命令連線檔案並列印到標準輸出裝置上。cat經常用來顯示檔案的內容,類似於下的TYPE命令。

一般格式:cat [選項] 檔案 說明:該命令有兩項功能,其一是用來顯示檔案的內容,它依次讀取由引數file所 指明的檔案,將它們的內容輸出到標準輸出上;其二是連線兩個或多個檔案,如 cat fl f2 > f3將把檔案fl和幾的內容合併起來,然後通過輸出重定向符“>”的作用,將它們放入檔案f3中。 常用選項: -b,–number-noblank 從1開始對所有非空輸出行進行編號。 -n,–number 從1開始對所有輸出行編號。 -s,–squeeze-blank 將多個相鄰的空行合併成一個空行。 -help 列印該命令用法,並退出,其返回碼錶示成功。 注意:當檔案較大時,文字在螢幕上迅速閃過(滾屏),使用者往往看不清所顯示的內容。因此,一般用more等命令分屏顯示。為了控制滾屏,可以按Ctrl+S鍵,停止滾屏;按Ctrl+Q鍵可以恢復滾屏。按Ctrl+C(中斷)鍵可以終止該命令的執行,並且返回Shell提示符狀態。 示例:(設ml和m2是當前目錄下的兩個檔案) # cat m1 (在螢幕上顯示檔案ml的內容) # cat m1 m2 (同時顯示檔案ml和m2的內容) # cat m1 m2 > file (將檔案ml和m2合併後放入檔案file中)

more命令 more命令顯示檔案內容,每次顯示一屏。

一般格式:more [選項] 檔案 說明:該命令一次顯示一屏文字,滿屏後停下來,並且在螢幕的底部出現一個提示資訊,給出至今己顯示的該檔案的百分比:–More–(XX%)可以用下列不同的方法對提示做出回答: ①按Space鍵,顯示文字的下一屏內容。 ②按Enier鍵,只顯示文字的下一行內容。 ③按斜線符(l),接著輸入一個模式,可以在文字中尋找下一個相匹配的模式。 ④按H鍵,顯示幫助屏,該屏上有相關的幫助資訊。 ⑤按B鍵,顯示上一屏內容。 ⑥按Q鍵,退出rnore命令。 常用選項: -num,這個選項指定一個整數,表示一屏顯示多少行。 -d,在每屏的底部顯示以下更友好的提示資訊: –More–(XX%) [Press space to continue, ’q’ to quit.] 而且當用戶按鍵時有錯誤,則顯示[Press ’h’, for instructions.]資訊,而不是簡單的報警。 -c或-p,不滾屏,在顯示下一屏之前先清屏。 -s,將檔案中連續的空白行壓縮成一個空白行顯示。 +/,該選項後的模式(Pattem)指定顯示每個檔案之前進行搜尋的字串。 +num,從行號num開始。 more命令在執行過程中還用到一些基於vi編輯器的互動式命令,這裡不做詳述。 示例: ①顯示檔案file的內容,但在顯示之前先清屏,並且在螢幕的最下方顯示完核的百分比。 # more -dc file ②顯示檔案file的內容,每10行顯示一次,而且在顯示之前先清屏。 # more -c -10 file

less命令 與more命令一樣,less命令也用來分屏顯示檔案的內容。但是二者存在差別:less命令允許使用者向前或向後瀏覽檔案,而 more命令只能向前瀏覽。用less命令顯示檔案時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程式,應按Q鍵。 less有幾種格式和很多選項,這裡不做詳述。

head命令 命令在螢幕上顯示指定檔案的開頭若干行。

一般格式:head [選項] file 說明:head命令在螢幕上顯示指定檔案的開頭若干行,行數由引數值來確定。顯示行數的預設值是10。 選項: -c,-bytes=SIZE 顯示前面SIZE個位元組。 -n,-lines=NUMBER NUMBER的值指定顯示前面多少行。預設為10行。 -q,-quiet,–silent 不顯示給定檔案的標題。 -v,-verbose 始終顯示給定檔案的標題。 示例: # head -5 file(顯示檔案file的前5行) # head -v file(顯示檔案file的內容,並且給出檔名標題) # head -q file(顯示檔案file的內容,但不列出檔名標題)

tail命令 tail命令在螢幕上顯示指定檔案的末尾若千行。

一般格式:tail [選項] [file]… 說明:tail命令在螢幕上顯示指定檔案的末尾10行。如果給定的檔案不止一個,則在顯示的每個檔案前面加一個檔名標題。如果沒有指定檔案或者檔名為“-”,則讀取標準輸入。 選項: -c,–bytes=N 輸出最後N個位元組。 -f 當檔案增長時輸出附加的資料。 -n,-lines=N 輸出最後的N行,而不是預設的10行。 -q,-quiet,–silent 不輸出包含給定檔名的標題。 -v,-verbose 始終輸出包含給定檔名的標題。 注意:如果表示位元組或行數的N值之前有一個”+”號,則從檔案開頭的第N項開始顯示,而不是顯示檔案的最後N項。N值後面可以有後綴:b表示512,k表示1024,m表示1 048576(1M)。 示例: # tail file (顯示檔案file的最後10行) # tail +20 file (顯示檔案file的內容,從第20行至檔案末尾) # tail -c 10 file (顯示檔案file的最後10個字元)

touch命令 可以修改指定檔案的時間標籤或者建立一個空檔案。

一般格式:touch [選項] 檔名… 說明:touch命令將會修改指定檔案的時間標籤,把已存在檔案的時間標籤更新為系統當前的時間(預設方式),它們的資料將原封不動地保留下來。如果該檔案尚未存在,則建立一個空的新檔案。 選項: -a 僅改變指定檔案的存取時間。 -c 不建立任何檔案。 -m 僅改變指定檔案的修改時間。 -t STAMP 使用STAMP指定的時間標籤,而不是系統當前的時間。STAMP的格式為[[CC]YY]MMDDhhmm[.ss],其中,CC表示年份的前兩位,YY表示年份的後兩位,MM表示月份,DD表示日期,hh表示小時,mm表示分鐘,ss表示秒。 示例: # touch ex2 在當前目錄下建立一個空檔案ex2。 然後,利用ls -l命令可以發現檔案ex2的大小為0,表示它是空檔案。

od -c aa.txt

該命令觀察檔案的實際內容, -c標誌表示以字元方式列印檔案內容。