Linux循序漸進(06)(轉)

post0發表於2007-08-09
Linux循序漸進(06)(轉)[@more@]

  第十課(一) 檔案和目錄操作相關命令

顯示檔案內容命令

使用者需要檢視一個檔案的內容時,可以根據顯示要求的不同選用以下的命令。

cat命令

功能1:在標準輸出上顯示檔案。

語法:cat [ - 選項 ] 檔案

說明:該命令功能之一是用來顯示檔案。它依次讀取其後所指檔案的內容並將其輸出到標準輸出。

cat命令中各個選項的含義為:

- v 用一種特殊形式顯示控制字元,LFD與TAB除外。

加了- v選項後,- T和- E選項將起作用。其中:

- T 將TAB顯示為“Ù I”。該選項需要與- v選項一起使用。即如果沒有使用- v選項,則這個選項將被忽略。

- E 在每行的末尾顯示一個$符。該選項需要與- v選項一起使用。

- u 輸出不經過緩衝區。

- A 等於- vET。

- t 等於- vT。

- e 等於- vE。

例1:$ cat example.txt

則在螢幕上顯示出example.txt 檔案的內容。

本想今天去香山看紅葉,無奈天公不作美沒去成,真遺憾,但願明天豔陽高照,使我們夢想成真。

 

例2:$ cat - A exam2.txt

則在螢幕上顯示出exam2.txt 檔案的內容,而且如果檔案中含有特殊字元的話,一併顯示。

I am a boy ! ùI You are a cute boy$

功能2:連線兩個或多個檔案

說明:該命令功能之二是用來將兩個或多個檔案連線起來。

例3:$ cat file1 file2 > file3

這樣就把檔案filel和檔案file2的內容合併起來,放入檔案file3中。(此時在螢幕上並不能直接看到該命令執行後的結果。若想看到連線後的檔案內容,可以再使用“cat file3”。)

需要說明的是,當檔案內容過多時,就帶來一個問題,因為文字在螢幕上迅速地閃過,使用者來不及看清其內容。因此,當檔案內容較大時,一般可用more等命令分屏顯示,以免因螢幕滾動太快而無法看清。

more命令

功能:在終端螢幕按屏顯示文字檔案。

語法: more [ - 選項 ] 檔案

說明: 該命令一次顯示一屏文字,顯示滿之後,停下來,並在終端底部列印出- - More- - ,系統還將同時顯示出已顯示文字佔全部文字的百分比,若要繼續顯示,按回車或空格鍵即可。

more命令中各個選項的含義為:

- p 顯示下一屏之前先清屏。

- c 作用同- p基本一樣。

- d 在每屏的底部顯示更友好的提示資訊:

- - More- - (XX%)[Press space to contiune , ‘q’ to quit . ]

而且若使用者輸入了-個錯誤命令則顯示出錯資訊,而不是簡單地鳴響終端。

- l 不處理< Ctrl+l >(換頁符)。如果沒有給出這個選項,則more命令在顯示了一個包含有< Ctrl+l >字元的行後將暫停顯示,並等待接收命令。

- s 檔案中連續的空白行壓縮成一個空白行顯示。

執行中的命令

在more命令的執行過程中,使用者可以使用more自己的一系列命令動態地根據需要來選擇顯示的部分。more在顯示完一屏內容之後,將停下來等待使用者輸入某個命令。下表列出了more指令在執行中用到的一些常用命令,而有關這些命令的完整內容,可以在more執行時按h檢視。這些命令的執行方法是先輸入 i(行數)的值,再打所要的命令,不然它會以預設值來執行命令。

i空格 若指定i,顯示下面的i行;否則,顯示下一整屏。

i回車 若指定i,顯示下面的i行;否則,顯示下一行。

iÙ D 按,若指定i,顯示下面的i行;否則,往下顯示半屏(一般為11行)。

id 同iÙ D 。

iz 同“i空格”類似,只是i將成為以下每個滿屏的預設行數。

is 跳過下面的i行再顯示一個整屏。預設值為1。

if 跳過下面的i屏再顯示一個整屏。預設值為1。

iÙ B 按,往回跳過(即向檔案首回跳)i屏,再顯示一個滿屏。預設值為1。

b 與iÙ B相同。

’ 回到上次搜尋的地方 

q或Q 退出more。

= 顯示當前行號。

v 在當前行啟動/usr/bin/vi對之進行編輯修改。

h 顯示各命令的幫助資訊。

i/pattern 查詢匹配該模式的第i行。預設值為1。

in 查詢符合表示式的倒數i行。預設值為1。

! 或 :! 在子shell中執行命令。

i:n 在命令列中指定了多個檔名的情況下,可用此命令使之顯示第i個檔案,若i過大(出界),則顯示檔名列表中的最後一個檔案。

i:p 在命令列中指定了多個檔名的情況下,可用此命令使之顯示倒數第i個檔案。若i過大(出界),則顯示第一個檔案。

i:f 顯示當前檔案的檔名和行數。

· 重複上次鍵人的命令。

例1:用分頁的方式顯示一個檔案的內容。

$ more example1.c

/*-------------------------------------------*/

/* example1.c */

/*-------------------------------------------*/

/* author f opus.BBS@BBS.cs.nthu.edu.tw */

/* target f BBS main/login/top-menu routines */

/* create f 99/10/23 */

/* update f 99/12/15 */

/*-------------------------------------------*/

#define _MAIN_C_

#inc1ude < BBS. h >

jmp_buf byebye;

int talkrequest=NA;

static uschar Enter_uflag i

#ifdef SHOW_IDLE_TIME

--More- (3%)

 

例2:顯示一個檔案的內容,但顯示之前先清屏,並且在顯示器的最下方顯示完整的百分比。

$ more - dc example1.c

執行該命令後,先清屏,然後顯示檔案example.c的內容。

/*-------------------------------------------*/

/* example1.c */

/*-------------------------------------------*/

/* author f opus.BBS@BBS.cs.nthu.edu.tw */

/* target f BBS main/login/top-menu routines */

/* create f 99/10/23 */

/* update f 99/12/15 */

/*-------------------------------------------*/

#define _MAIN_C_

#inc1ude < BBS. h >

jmp_buf byebye;

int talkrequest=NA;

static uschar Enter_uflag i

#ifdef SHOW_IDLE_TIME

char fromhost( );

--More- (3%)[Press space to continue , ‘q’ to quit .]

 

例3:顯示一個檔案的內容,要求每十行顯示一次,且顯示之前先清屏。

$ more - c - 10 example1.c

執行該命令後,先清屏,然後將以每十行每十行的方式顯示檔案example.c的內容。

/*-------------------------------------------*/

/* example1.c */

/*-------------------------------------------*/

/* author f opus.BBS@BBS.cs.nthu.edu.tw */

/* target f BBS main/login/top-menu routines */

/* create f 99/10/23 */

/* update f 99/12/15 */

/*-------------------------------------------*/

#define _MAIN_C_

inc1ude < BBS. h >

--More- (3%)

less命令

less命令的功能幾乎和more命令一樣,也是用來按頁顯示檔案,不同之處在於less命令在顯示檔案時允許使用者既可以向前又可以向後翻閱檔案。

less命令的使用與more命令類似,在此就不贅述了,使用者如有不清楚的地方可直接檢視聯機幫助。

用less命令顯示檔案時,若需要在檔案中往前移動,按< b >鍵;要移動到用檔案的百分比表示的某位置,則指定一個0到100之間的數,並按< p >即可。

例如,需要按頁顯示test檔案

$ less test

 

head命令

如果使用者希望檢視一個檔案究竟儲存的是什麼內容,可以只檢視檔案的頭幾行,而不必瀏覽整個檔案。用head命令只顯示檔案或標準輸入的頭幾行。

語法:head [- n ] 檔案

功能:顯示指定檔案的前若干行。

說明:該命令顯示每個指定檔案的前面n行。如果沒有給出n值,預設設定為10。如果沒有指定檔案,head就從標準輸入讀取。例如顯示檔案example.c的前3行。

$ head - 3 example.c

/*-------------------------------------------*/

/* example1.c */

/*-------------------------------------------*/

 

tail命令

同樣,如果使用者想檢視檔案的尾部,可以使用tail命令。

語法:tail [+ / - num ] [引數] 檔案

說明:該命令顯示一個檔案的指定內容。它把指定檔案的指定顯示範圍內的內容顯示在標準輸出上。如果沒有給定檔名,則使用標準輸入檔案。

tail命令中各個選項的含義為:

+num 從第num行以後開始顯示。

- num 從距檔案尾num行處開始顯示。如果省略num引數,系統預設值為10。

l 以文字行為num的計數單位。與引數選項+num或- num選項同時使用時,num表示要顯示的文字行行數。

c 以位元組為num的計數單位。與引數選項+num或- num選項同時使用時,num表示要顯示的字元數。

(l、c選項可以省略,系統預設值為l,即按行計數)。

例如:

$ tail -4 example

將顯示檔案example的最後4行。

 

od命令

使用者通常使用od命令檢視特殊格式的檔案內容。透過指定該命令的不同選項可以以十進位制、八進位制、十六進位制和ASCII碼來顯示檔案。

語法:od [選項] 檔案…

命令中各選項的含義:

- A 指定地址基數,包括:

d 十進位制

o 八進位制(系統預設值)

x 十六進位制

n 不列印位移值

- t 指定資料的顯示格式,主要的引數有:

c ASCII字元或反斜槓序列

d 有符號十進位制數

f 浮點數

o 八進位制(系統預設值為02)

u 無符號十進位制數

x 十六進位制數

除了選項c以外的其他選項後面都可以跟一個十進位制數n,指定每個顯示值所包含的位元組數。

說明:od命令系統預設的顯示方式是八進位制,這也是該命令的名稱由來(Octal Dump)。但這不是最有用的顯示方式,用ASCII碼和十六進位制組合的方式能提供更有價值的資訊輸出。

例如:

$ od - Ax - tcx1 wh5

000000 F i l e s y s t e m

46 69 6c 65 73 79 73 74 65 6d 20 20 20 20 20 20

000010 1 k - b l o c k s

20 20 20 20 20 31 6b 2d 62 6c 6f 63 6b 73 20 20

000020 U s e d A v a i l a b

20 20 20 20 55 73 65 64 20 41 76 61 69 6c 61 62

000030 l e U s e % M o u n t e d

6c 65 20 55 73 65 25 20 4d 6f 75 6e 74 65 64 20

000040 o n / d e v / h d a 8

6f 6e 0a 2f 64 65 76 2f 68 64 61 38 20 20 20 20

000050 3 0 4 4 4

20 20 20 20 20 20 20 20 20 20 20 33 30 34 34 34

000060 0 5 0 6 8 9 2

30 20 20 20 20 20 35 30 36 38 39 20 20 20 20 32

000070 3 8 0 2 8 1 8 % / / d e

33 38 30 32 38 20 20 31 38 25 20 2f 0a 2f 64 65

000080 v / h d a 9

76 2f 68 64 61 39 20 20 20 20 20 20 20 20 20 20

000090 5 4 6 3 6 9

20 20 20 20 20 35 34 36 33 36 39 20 20 20 20 20

0000a0 8 7 7 6 5 0 9 3 7 1

20 38 37 37 36 20 20 20 20 35 30 39 33 37 31 20

0000b0 2 % / h o m e

20 20 32 25 20 2f 68 6f 6d 65 0a 0a 0a

0000bd

本文由TurboLinux公司提供

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938951/,如需轉載,請註明出處,否則將追究法律責任。

相關文章