在linux中,cat命令可以用于查看文件的內(nèi)容,而不需要在任何文本編輯器中打開它,也可以把幾個文件內(nèi)容附加到另一個文件中,即連接合并文件。查看文件內(nèi)容時,如果在包含文件的同一目錄中,則語法為“cat [option] [filename]…”;如果在其他目錄下,則語法為“cat [option] [path/to/file]…”。
程序員必備接口測試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計、調(diào)試、文檔、自動化測試工具
后端、前端、測試,同時在線協(xié)作,內(nèi)容實時同步
本教程操作環(huán)境:Ubuntu 18.04系統(tǒng)、Dell G3電腦。
linux中cat命令介紹
Cat命令(concatenate的縮寫)是Linux操作系統(tǒng)中使用最廣泛的命令行實用工具之一。它是一個標(biāo)準(zhǔn)的Linux實用程序,用于查看文件的內(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]...
如果想要連接合并文件
cat filename1 filename2 > filename3
cat 命令常用選項及含義
選項 | 含義 |
---|---|
-A | 相當(dāng)于 -vET 選項的整合,用于列出所有隱藏符號; |
-E | 列出每行結(jié)尾的回車符 $; |
-n | 對輸出的所有行進行編號; |
-b | 同 -n 不同,此選項表示只對非空行進行編號。 |
-T | 把 Tab 鍵 ^I 顯示出來; |
-V | 列出特殊字符; |
-s | 當(dāng)遇到有連續(xù) 2 行以上的空白行時,就替換為 1 行的空白行。 |
注意,cat 命令用于查看文件內(nèi)容時,不論文件內(nèi)容有多少,都會一次性顯示。如果文件非常大,那么文件開頭的內(nèi)容就看不到了。不過 Linux 可以使用PgUp+上箭頭
組合鍵向上翻頁,但是這種翻頁是有極限的,如果文件足夠長,那么還是無法看全文件的內(nèi)容。
cat命令的使用示例
顯示文件內(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命令的另一個主要用途是可以將多個文件拼接為一個文件??梢允褂靡韵抡Z法來拼接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行排序,如下所示:
$ 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