在linux中,cat指令可以用來查看文件的內容,而不需要在任何文字編輯器中開啟它,也可以把幾個文件內容附加到另一個文件中,即連接合併文件。查看檔案內容時,如果在包含檔案的同一目錄中,則語法為「cat [option] [filename]...」;如果在其他目錄下,則語法為「cat [option] [path/to/file ]...」。
本教學操作環境:Ubuntu 18.04系統、Dell G3電腦。
Cat指令(concatenate的縮寫)是Linux作業系統中使用最廣泛的命令列實用工具之一。它是一個標準的Linux實用程序,用於查看文件的內容,而不需要在任何文字編輯器中開啟它。 cat指令的另一個主要用法是將多個檔案串連到一個檔案中。在Linux中還有其他幾種cat指令的用法,我們將在本文中討論這些用法,以便您了解它在不同場景中的工作方式。
以下是cat指令的一些基本功能:
注意,我們使用Ubuntu 18.04 LTS作業系統來示範本文中提到的命令和流程。
基本語法
使用Cat指令的基本語法是:
cat [option] [filename]...
如果您在包含檔案的相同目錄中,請使用上面的指令。否則,如果你在其他目錄下,請如下說明該檔案的路徑:
cat [option] [path/to/file]...
如果想要連接合併檔案
cat filename1 filename2 > filename3
cat 指令常用選項及意義
選項 | 含義 |
---|---|
#-A | 相當於-vET 選項的整合,用於列出所有隱藏符號; |
-E | 列出每行結尾的回車符號$; |
對輸出的所有行進行編號; | |
同-n 不同,此選項表示只對非空白行進行編號。 |
注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头
组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。
显示文件内容
cat命令最常见和最基本的用法是显示文件内容。 为了将文件内容显示到终端,只需键入cat和文件名,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat linuxmi.txt
一个示例是显示 /etc/hostname文件的内容。 在这种情况下,命令将是:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname
显示所有文件的内容
要显示当前目录中的所有文件,请在cat命令中使用通配符,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat *
要仅显示目录中文本文件的内容,请输入以下命令:
[linuxmi@linux:~/linuxmi迷]$ cat *.txt
一次显示多个文件
您还可以使用cat命令在终端中组合并显示多个文件的内容。 要同时显示多个文件,请使用以下语法:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname /etc/resolv.conf linuxmi1.txt
一个示例是在终端中查看所有三个文件/etc/hostname、/etc/resolv.conf、linuxmi1的输出,如以下屏幕快照所示:
将一个文件的输出复制到另一个文件
它还可以用于将一个文件的输出复制到另一文件。如果目标文件不存在,它将首先创建它,否则将覆盖目标文件。
要将源文件的输出复制到另一个文件,请使用以下语法:
$ Cat [源文件] > [目标文件]
例如,将一个linuxmi1.txt的输出复制到另一个名为linuxmi2.txt的文件中,如下所示:
$ cat linuxmi1.txt > linuxmi2.txt
此命令将首先创建文件linuxmi2.txt,然后将linuxmi1.txt的内容复制到该文件。
将文件输出附加到另一个文件
除了在上面的示例中覆盖目标文件的输出外,还可以使cat命令附加输出。以下语法可用于此目的:
$ cat [源文件] >> [目标文件]
如果目标文件尚不存在,它将创建目标文件,否则将附加输出。
将多个文件复制到另一个文本文件/拼接文件
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标志即可:
$ cat -n linuxmi.py
表的文件,则可以使用–n标志显示带有数字的项目。请记住,空行也已编号,如以下屏幕截图所示:
如果您不想给空行编号,请使用–b标志,如下所示:
$ cat –b linuxmi.py
建立档案
您还可以使用cat命令创建文件。以下语法可用于此目的:
$ cat > linuxmi
输入上述命令后,输入要存储在文件中的文本。完成后,使用Ctrl + D保存并退出。之后,可以在终端中执行以下命令来查看新创建文件的内容:
$ cat linuxmi
如下图:
排序输出
您还可以将sort与cat命令结合使用,以按字母顺序对输出进行排序,如下所示:
$ cat linuxmi | sort
同样,在有多个文件的情况下,可以按字母顺序将输出连接到一个文件中:
$ cat [linuxmi1] [linuxmi2] | sort > [linuxmi3]
删除连续的空行
有时文件包含您不想打印的连续的空行。 Cat命令允许合并那些连续的空行,并将它们显示为一个空行。
使用以下命令语法删除重复的空行:
$ cat –s [linuxmi]
例如,我们有以下文件,其中包含连续的空行。
通过使用-s标志,您将看到区别。
显示制表符
$ cat –t [linuxmi]
使用-t选项可以显示的查看内容中哪些地方使用了tab制表符,有制表符的地方会显示为^I
打印文件输出
cat命令的另一种流行用法是在文档的打印内容中。例如,要将文件的输出打印到名为/dev/lp的打印设备上,将使用以下语法:
$ cat [linuxmi] > /dev/lp
相关推荐:《Linux视频教程》
以上是linux中cat指令怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!