linux cat 命令詳解

來源:互聯網
上載者:User

使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
說明:把檔案串聯接後傳到基本輸出(螢幕或加 > fileName 到另一個檔案)
參數:
-n 或 --number 由 1 開始對所有輸出的行數編號
-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 --show-nonprinting
範例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裡。
範例:
把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裡。
cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt 此為清空/etc/test.txt檔案內容
cat 也可以用來製作 image file。例如要製作軟碟的 image file,將軟碟放好後打
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 寫到軟碟,請打
cat IMG_FILE > /dev/fd0
註:
1. OUTFILE 指輸出的 image 檔名。
2. IMG_FILE 指 image file。
3. 若從 image file 寫回 device 時,device 容量需與相當。
4. 通常用在製作開機磁片。

cat主要有三大功能:
 

1.一次顯示整個檔案。$ cat   filename

2.從鍵盤建立一個檔案。$ cat  >  filename

只能建立新檔案,不能編輯已有檔案.

3.將幾個檔案合并為一個檔案。 $cat   file1   file2  > file

參數:

-n 或 --number 由 1 開始對所有輸出的行數編號

-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號

-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行

-v 或 --show-nonprinting 

範例:

cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裡。 

範例:

把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡

cat -n textfile1 > textfile

把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裡

cat -b textfile1 textfile2 >> textfile3 

cat /dev/null > /etc/test.txt 此為清空/etc/test.txt檔案內容

cat 也可以用來製作 image file。例如要製作軟碟的 image file,將軟碟放好後打

cat /dev/fd0 > OUTFILE
%W

相反的,如果想把 image file 寫到軟碟,請打

cat IMG_FILE > /dev/fd0 

註:
©Newboys -- Newboys綜合論壇  

1. OUTFILE 指輸出的 image 檔名。 

2. IMG_FILE 指 image file。 

3. 若從 image file 寫回 device 時,device 容量需與相當。

4. 通常用在製作開機磁片。

13.9. 使用 cat 來操作檔案
Red Hat Linux 有一個工具程式,它能夠協助你保留簡短列表,將這些列表收集起來,甚至向你透漏一點你的系統資訊。
這個工具叫做 cat,它是 concatenate(連鎖) 的簡寫,意思是合并檔案。
cat 命令還會在螢幕上顯示整個檔案的內容(譬如,鍵入 cat filename.txt)。如果檔案較長,它會在螢幕上飛快地滾過。要防止這一效果的發生,使用 cat filename.txt | less 命令。
一起使用管道(|)和 less 命令會一頁一頁地顯示檔案。然後,你便可以使用向上或向下的方向鍵在頁碼中向前或向後移動。關於使用管道來合并兩個不同功能的詳細資料,請參閱
第 13.10 節



13.9.1. 使用重導向
重導向就是使 shell 改變它所認定的標準輸出,或者改變標準輸出的目標。
要重導向標準輸出,使用 > 符號。把 > 符號放在 cat 命令之後(或在任何寫入標準輸出的工具程式和應用程式之後),會把它的輸出重導向到跟在符號之後的檔案中。
譬如,使用 cat 自身會在螢幕上輸出你所輸入的內容,如同是在重複你剛鍵入的行。下面的例子顯示了 cat 會重複你輸入的每一行:

圖 13-5. cat 命令

要把 cat 的輸出重導向到一個檔案中,在 shell 提示下鍵入以下命令(按 [Enter] 鍵會把你帶到一個空行):
cat > sneakers.txt

圖 13-6. 把輸出重導向到一個檔案

按 [Enter] 鍵轉到一個空行,然後使用 [Ctrl]-[D] 鍵 來退出 cat。
注意到
圖 13-6


中的區別了嗎?此處並沒有重複顯示。這是因為 cat 的標準輸出已經被重導向了。重導向的地方是你剛剛製作的一個叫做 sneakers.txt 的嶄新檔案。
當你運行 cat 命令時,你會發現你所在目錄中的檔案
如前所示,你可以使用 cat 來讀取檔案。在提示下,鍵入:
cat sneakers.txt


小心

在你把輸出重導向入檔案時,請謹慎從事,因為你會很容易地覆蓋一個現存檔案!除非你想代替該檔案,請確保你所建立的檔案名稱與已經存在的檔案名稱不一樣。
再把輸出重導向到另一個檔案,暫且把它叫做 home.txt。在這個例子中,鍵入命令 cat > home.txt,然後按 [Enter],其後跟隨:
bring the coffee home

take off shoes

put on sneakers

make some coffee

relax!

現在,在一個空行上,使用 [Ctrl]-[D] 鍵組合來退出 cat。
下一步,使用 cat 把 home.txt 和 sneakers.txt 串連起來,然後再把兩個檔案的輸出重導向到一個叫做 saturday.txt 的新檔案(你會在
圖 13-7


中發現一個樣本)。鍵入下面的命令:
cat sneakers.txt home.txt > saturday.txt


圖 13-7. 串連檔案和重導向輸出

你可以看到 cat 已經把 home.txt 添加到 sneakers.txt 的結尾處。
13.9.2. 後補標準輸出
你可以使用輸出重導向來在一個現存檔案之後添加新資訊。這與你使用 > 符號相似,你是在告訴 shell 把資訊發送到標準輸出之外的某個地方。
然而,當你使用 >> 時,你是在給檔案添加資訊,而不是完全替換檔案內容。
最好的解釋方法是向你示範執行個體。我們便使用剛才已建立的兩個檔案(sneakers.txt 和 home.txt),然後使用後補輸出的符號把它們串連起來。你想把 home.txt 的資訊添加到 sneakers.txt 的資訊中去,因此鍵入:
cat home.txt >> sneakers.txt
現在,使用 cat sneakers.txt 的命令來檢查一下。最終的輸出在檔案結尾處顯示了 home.txt 的內容:
buy some sneakers
then go to the coffee shop
then buy some coffee
bring the coffee home
take off shoes
put on sneakers
make some coffee
relax!
你鍵入的命令把檔案 home.txt 的輸出後補到檔案 sneakers.txt 中去。
通過後補輸出,你利用了現存檔案而不必建立新檔案,從而為自己節省些時間(以及一些磁碟群集)。
現在比較一下檔案 sneakers.txt 和檔案 saturday.txt 的結果,你就會看到它們一模一樣。要做比較,鍵入:
cat sneakers.txt; cat saturday.txt
這兩個檔案的內容都會被顯示 — 先是 sneakers.txt 檔案,然後是 saturday.txt 檔案 (如
圖 13-8


所示)。

圖 13-8. 串聯命令和比較檔案

13.9.3. 重導向標準輸入
你不但可以重導向標準輸出,還可以重導向標準輸入。
當你使用重導向標準輸入符號
cat
因為你用來分隔 cat 命令和檔案的是小於符號(sneakers.txt 的輸出就被 cat 命令讀取。

圖 13-9. 重導向標準輸入

本文來自ChinaUnix部落格,如果查看原文請點:
http://blog.chinaunix.net/u1/53051/showart_424003.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.