Cat命令(concatenate的縮寫)是Linux操作系統(tǒng)中使用最廣泛的命令行實(shí)用工具之一。它是一個標(biāo)準(zhǔn)的Linux實(shí)用程序,用于查看文件的內(nèi)容,而不需要在任何文本編輯器中打開它。cat命令的另一個主要用法是將多個文件串聯(lián)到一個文件中。在Linux中還有其他幾種cat命令的用法,我們將在本文中討論這些用法,以便您了解它在不同場景中的工作方式。
以下是cat命令的一些基本功能:
- 顯示文件內(nèi)容
- 創(chuàng)建新文件
- 合并文件
- 復(fù)制文件內(nèi)容
注意,我們使用Ubuntu 18.04 LTS操作系統(tǒng)來演示本文中提到的命令和過程。
基本語法
使用Cat命令的基本語法是:
$ cat [option] [filename]…
如果您在包含文件的同一目錄中,請使用上面的命令。否則,如果你在其他目錄下,請按如下說明該文件的路徑:
$ cat [option] [path/to/file]…
顯示文件內(nèi)容
cat命令最常見和最基本的用法是顯示文件內(nèi)容。 為了將文件內(nèi)容顯示到終端,只需鍵入cat和文件名,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat linuxmi.txt
一個示例是顯示 /etc/hostname文件的內(nèi)容。 在這種情況下,命令將是:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname
顯示所有文件的內(nèi)容
要顯示當(dāng)前目錄中的所有文件,請在cat命令中使用通配符,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat *
要僅顯示目錄中文本文件的內(nèi)容,請輸入以下命令:
[linuxmi@linux:~/linuxmi迷]$ cat *.txt
一次顯示多個文件
您還可以使用cat命令在終端中組合并顯示多個文件的內(nèi)容。 要同時顯示多個文件,請使用以下語法:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname /etc/resolv.conf linuxmi1.txt
一個示例是在終端中查看所有三個文件/etc/hostname、/etc/resolv.conf、linuxmi1的輸出,如以下屏幕快照所示:
將一個文件的輸出復(fù)制到另一個文件
它還可以用于將一個文件的輸出復(fù)制到另一文件。如果目標(biāo)文件不存在,它將首先創(chuàng)建它,否則將覆蓋目標(biāo)文件。
要將源文件的輸出復(fù)制到另一個文件,請使用以下語法:
$ Cat [源文件] > [目標(biāo)文件]
例如,將一個linuxmi1.txt的輸出復(fù)制到另一個名為linuxmi2.txt的文件中,如下所示:
$ cat linuxmi1.txt > linuxmi2.txt
此命令將首先創(chuàng)建文件linuxmi2.txt,然后將linuxmi1.txt的內(nèi)容復(fù)制到該文件。
將文件輸出附加到另一個文件
除了在上面的示例中覆蓋目標(biāo)文件的輸出外,還可以使cat命令附加輸出。以下語法可用于此目的:
$ cat [源文件] >> [目標(biāo)文件]
如果目標(biāo)文件尚不存在,它將創(chuàng)建目標(biāo)文件,否則將附加輸出。
將多個文件復(fù)制到另一個文本文件/拼接文件
cat命令的另一個主要用途是可以將多個文件拼接為一個文件。可以使用以下語法來拼接linuxmi1,linuxmi2和linuxmi3并將它們保存到另一個名為linuxmi4.txt的文件中。
$ cat [linuxmi1] [linuxmi2] [linuxmi3] > [linuxmi4]
例如,我們要將/etc/hostname、/etc/resolv.conf和/etc/hosts文件的輸出連接到另一個名為linuxmi.txt的文件。以下命令可用于此目的:
$ cat /etc/hostname /etc/resolv.conf /etc/hosts > linuxmi.txt
在文件中顯示行號
要顯示文件輸出的行號,只需使用–n標(biāo)志即可:
$ cat -n linuxmi.py
表的文件,則可以使用–n標(biāo)志顯示帶有數(shù)字的項目。請記住,空行也已編號,如以下屏幕截圖所示:
如果您不想給空行編號,請使用–b標(biāo)志,如下所示:
$ cat –b linuxmi.py
建立檔案
您還可以使用cat命令創(chuàng)建文件。以下語法可用于此目的:
$ cat > linuxmi
輸入上述命令后,輸入要存儲在文件中的文本。完成后,使用Ctrl + D保存并退出。之后,可以在終端中執(zhí)行以下命令來查看新創(chuàng)建文件的內(nèi)容:
$ cat linuxmi
如下圖:
排序輸出
您還可以將sort與cat命令結(jié)合使用,以按字母順序?qū)敵鲞M(jìn)行排序,如下所示:
$ cat linuxmi | sort
同樣,在有多個文件的情況下,可以按字母順序?qū)⑤敵鲞B接到一個文件中:
$ cat [linuxmi1] [linuxmi2] | sort > [linuxmi3]
刪除連續(xù)的空行
有時文件包含您不想打印的連續(xù)的空行。 Cat命令允許合并那些連續(xù)的空行,并將它們顯示為一個空行。
使用以下命令語法刪除重復(fù)的空行:
$ cat –s [linuxmi]
例如,我們有以下文件,其中包含連續(xù)的空行。
通過使用-s標(biāo)志,您將看到區(qū)別。
顯示制表符
$ cat –t [linuxmi]
使用-t選項可以顯示的查看內(nèi)容中哪些地方使用了tab制表符,有制表符的地方會顯示為^I
打印文件輸出
cat命令的另一種流行用法是在文檔的打印內(nèi)容中。例如,要將文件的輸出打印到名為/dev/lp的打印設(shè)備上,將使用以下語法:
$ cat [linuxmi] > /dev/lp
在本文中,我們通過各種示例說明了如何在Linux中使用cat命令來操作文件。 Cat命令的語法簡單且提供了很多選項,因此在所有用戶中都很流行。使用此cat命令即可創(chuàng)建和查看文件,合并,復(fù)制和附加文件內(nèi)容,打印以及更多其他操作。
更多Linux命令相關(guān)信息見Linux命令大全 專題頁面 http://www.sfodin.cn/topicnews.aspx?tid=16