如何使用 Linux Cat 命令(附示例)

在任何操作系統中,使用者都會與檔案互動,進行像是建立、刪除和讀取等操作。在Linux系統中,情況也是如此。

雖然您可以使用圖形使用者介面在Linux作業系統中管理檔案,但大多數Linux使用者傾向於透過終端機與作業系統互動。

因此,Linux提供了直接從終端機處理檔案的指令。其中一個指令就是cat指令。

根據Linux的說明文件,cat指令用於連接檔案並將檔案內容列印到標準輸出。Linux的說明文件是用來幫助使用者了解Linux指令及其使用方式的參考資料。

若要查閱任何Linux指令的說明文件,只需輸入man <指令名稱>。例如,若要查看cat指令的說明文件,請在終端機中執行以下指令:

man cat

cat指令的用途

如前所述,cat指令可以將檔案的內容顯示在螢幕上。它的另一個功能是連接多個檔案並輸出它們的內容。這表示,如果您向cat指令提供多個檔案,它會將它們的內容串連起來並輸出到螢幕。

簡單來說,cat指令會將多個檔案的內容合併後輸出到螢幕。然而,在這樣的操作中,cat指令不會建立任何新檔案,原本在cat指令中使用的檔案將維持不變。

cat指令也用於重導向。重導向是指使用者如何改變標準輸入的來源以及標準輸出和標準錯誤的目的地。標準輸入、標準輸出和標準錯誤是Linux中用於通訊的標準流。

預設情況下,標準輸入是鍵盤,標準輸出和標準錯誤預設顯示在螢幕上。

因此,重導向意味著我們可以將輸入重新導向,從檔案或其他來源取得輸入,而不是預設的鍵盤。

當涉及到預設顯示在螢幕上的標準輸出和標準錯誤時,您可以透過重導向將這些輸出寫入檔案。

cat指令語法

cat指令的語法如下:

cat [選項]... [檔案]...

在Linux說明文件中,方括號中的任何內容都是可選的。因此,在上述語法中,cat指令不一定要有選項或檔案作為參數。它可以有其中一個,兩者都有或根本沒有。

省略號(…)表示允許使用一個或多個前面的運算元或參數。因此,cat指令可以採用一個或多個選項或檔案。

FILE表示我們希望cat指令連接和顯示的檔案。OPTION表示可以加入cat指令以修改其行為的標誌。以下是一些可以與cat指令一起使用的選項:

cat指令的運作方式是取得傳遞給它的檔案,並將其內容輸出到標準輸出,也就是終端機視窗。如果有數個檔案傳遞給它,它們的內容會被連接起來,然後顯示在終端機視窗上。

cat指令的行為也會根據傳遞給它的標誌而有所不同。例如,傳遞-n標誌會使cat指令對所有輸出行編號。根據您希望它的行為方式,您可以傳遞任何可與cat指令一起使用的標誌。

如何使用cat指令

例如,要使用cat指令,只需輸入指令和要連接和讀取的檔案名稱。要輸出名為rainbow.txt的檔案內容,請執行以下指令。

cat rainbow.txt

您也可以加入一個標誌來修改cat指令的行為。例如,您可以使用-n標誌對所有輸出行進行編號。在上述範例中,我們可以透過執行以下指令來對rainbow.txt中的所有輸出行編號:

cat -n rainbow.txt

這兩個指令的輸出如下所示:

要組合可以與cat指令一起使用的標誌或選項,只需將它們一個接一個地寫下來,或者您也可以將它們隔開。兩者都可以。下面顯示的-E標誌用於在輸出行的末尾添加美元符號($)。

這在顯示貨幣值時很有用。可以使用cat指令組合多個標誌的各種方法如下所示:

要使用cat指令連接和顯示多個檔案,只需將檔案名稱一個接一個地寫入,並以空格分隔。例如,要連接兩個名為rainbow.txtprimary.txt的檔案,請執行以下指令:

cat rainbow.txt primary.txt

指令的輸出如下所示:

rainbow.txtprimary.txt這兩個檔案在這個操作之後將保持不變。請注意,檔案在指令中出現的順序決定了內容的顯示方式。會從第一個檔案到最後一個檔案顯示內容。您還可以在連接和顯示多個檔案時添加標誌,如下所示:

關於cat指令需要注意的最後一件事是,如果沒有向指令提供檔案或提供破折號(-),cat指令會從標準輸入而不是檔案中讀取。標準輸入是鍵盤。

因此,cat指令將簡單地顯示使用者透過鍵盤輸入的任何內容。若要親身體驗一下,請執行以下指令:

cat

該指令會將您帶到等待鍵盤輸入的閃爍游標。輸入任何文字,然後按Enter。無論您鍵入什麼,都會輸出到標準輸出,如下所示:

CTRL + C退出並停止將輸入傳遞給cat指令。

我們也可以使用cat指令連接並輸出活動目錄中特定類型之所有檔案的內容。這是使用星號通配符完成的。

cat *.txt

例如,若要輸出特定目錄中文字檔案(.txt)的所有內容,我們將執行以下程式碼:

指令的輸出如下所示:

cat指令範例

除了cat指令的標準用法之外,還可以透過重導向來增強cat指令的功能。如前所述,cat指令預設輸出到終端機螢幕。

但是,透過重導向,我們可以將其輸出重導向到另一個檔案,而不是將輸出顯示在螢幕上。

Linux中的輸出重導向運算子是>(大於號,也稱為人字形)。

cat rainbow.txt

例如,如果我們執行以下指令:

我們會將rainbow.txt的內容輸出到螢幕上。

cat colors.txt > rainbow.txt

但是,如果我們執行

rainbow.txt的內容不會顯示在螢幕上。相反地,它們將被重導向並寫入colors.txt檔案。這是一種將內容從一個檔案複製到另一個檔案的絕佳方法。

Linux中輸出重導向的預設行為是覆寫我們重導向到的檔案中的所有內容。例如,在上面的範例中,rainbow.txt中的所有內容將被colors.txt中的內容覆寫。若要保留要重導向到的檔案中的現有內容,並將新內容附加到其中,請在重導向時使用>>

請注意,在使用>>rainbows.txt的輸出重導向到colors.txt後,colors.txt現在具有在rainbows.txt中找到的顏色。

為了進一步發揮cat指令的功能,我們可以結合重導向和cat指令的預設行為(當沒有提供檔案時從標準輸入讀取),以便使用cat指令建立檔案並寫入檔案。

cat > dark.txt

如果您執行下面的程式碼

我們會重導向到dark.txt。由於我們沒有提供其內容將被重導向到dark.txt的檔案,因此cat指令將需要來自鍵盤的輸入。

因此,在dark.txt中輸入您想要儲存的任何文字,按Enter跳到下一行,完成後按CTRL + D將您輸入的內容儲存到您要重導向到的檔案中。

由於我們重導向到一個不存在的檔案,dark.txt將自動建立,我們透過鍵盤輸入的內容將儲存在該檔案中。這樣,我們就可以使用cat指令建立檔案並在建立時寫入檔案。

該操作的輸出如下所示:

cat >> dark.txt

cat也可用於將文字添加到檔案末尾。使用dark.txt,我們可以透過執行以下指令為其添加更多顏色:

然後,您可以透過鍵盤輸入來添加其他資訊,然後按CTRL + D儲存新內容並將其附加到dark.txt,如下所示:

cat file1 file2 file3 > file4

cat指令也可用於將多個檔案連接成一個檔案。這種操作的語法如下所示:

file1file2file3的內容將連接在一起並寫入file4。如果不想要覆寫file4中的內容,也可以使用>>。如果file4不存在,它將自動建立。

下面顯示了一個例子:

cat colors.txt primary.txt > allColors.txt

若要將colors.txtprimary.txt的內容寫入allColors.txt,我們執行:

cat primary.txt >> colors.txt

您也可以使用cat指令將一個或多個檔案的內容附加到另一個檔案。這是透過在重導向輸出時使用>>來完成的。這避免了覆寫已儲存在其他檔案中的內容。例如,要將primary.txt的內容附加到colors.txt,請執行以下程式碼:

此操作的結果如下所示:

結論

cat指令是一個非常有用的Linux指令,它允許使用者連接並顯示檔案的內容。該指令有多個標誌,可以添加到它來改變它的行為方式。

透過重導向,可以極大地增強cat指令的功能,允許使用者建立和複製檔案、將多個檔案連接成一個檔案以及附加到現有檔案。要了解更多關於cat指令的資訊,請查閱其說明文件。

您還可以為系統管理員探索一些Linux指令。