UNIX 指令 - cat

【功能】

印出檔案內容或合併多檔

【語法】

cat [-u] [-s] [-v [-t] [-e] ] file..

【說明】

cat 指令是將每個檔案依照順序讀取並把內容送到標準輸出(螢幕)。例如,鍵入 cat filename 可將檔案 filename 的內容在螢幕上顯示。若無給予檔名或是使用引數時,則cat 指令會從標準輸入(鍵盤)讀取資料。

cat 是 concatenate 的簡寫,本義為連結、連鎖。故 cat 指令也有合併檔案的功能,其方法為:

cat file1 file2 > file3

如此可將檔案 file1、file2 合併的結果依指定的順序放到檔案file3 中。

【選項】

選 項 說 明
-u(unbuffer) 輸出時不必經過緩衝區。(原來是預設為使用緩衝區)。
-s(silent) 檔案不存在時,使 cat 指令不會產生警告訊息。
-v(value) 使原先無法印出的字元以另一種格式表示,除了跳格(tabs)、換行(new-lines)以及換頁(form-feeds)等字元之外。ASCII 的控制字元是用 '^x'(Ctrl-x)的方式印出;而 DEL 字元(ASCII 的 127)則以 '^?' 的方式印出;其他非 ASCII 字元(介於 128 到 255 之間者)在印出時則為 'M-x'(x為相對應的 ASCII 0到 127)。
以下的選項必須與 -v 選項共同使用
-t(tab) 使跳格(tabs)字元在印出時為 '^I',以及換頁(form-feeds)字元在印出時為 '^L'。
-e(end) 在每一行的結束位置印出 '$' 字元(在 new-lines 字元之前)。

★註:在 SVR3 之前的版本只有 -s 選項可使用,其的選項是在 SVR3 版本時才新加入的。

【範例】

1. 印出檔案內容:

cat readme

會將檔案 readme 的內容顯示在螢幕。若該檔案的內容過長則畫面會上捲,以取得螢幕下端的空間來顯示其餘的資料。

2. 使鍵盤的輸入送到螢幕上輸出:

cat

下完此一指令之後,在鍵盤上所打入任何的字都會在螢幕上出現,如同打字機一般。最後結束時可在行的最前端打入<Ctrl-D> 鍵。

注意:此指令不會儲存輸入的任何資料,除非有指定檔名。

其表示如下:

cat > note

如此會把鍵盤上所輸入的資料存到檔案 note 內,而不是只在螢幕上顯示。而原來在 note 的內容則會被刪除(若是note 不存在則會自動產生 note 的檔案)。

3. 將一文字檔的內容複製一份到另一檔案上。

cat file1 > file2

執行後,檔案 file2 與檔案 file1 的內容會完全相同,而原來存在 file2 的內容則被刪除,若是要把 file1 的內容置於 file2 的尾端則可用附加的重新導向符號(>>)。

cat file1 >> file2

4. 將二個檔案合併成一個檔案

cat file1 file2 > file3

如此一來檔案 file3 的內容將會包含 file1 及 file2。

注意:下面的指令會使原來在 file1 的內容被刪除,如同cat file2 > file1 的結果,使 file1 及 file2的內容相同。

cat file1 file2 > file1

網路電視    旅遊景點    算命    象棋殘局    回首頁