cat命令是Linux中最常用的命令之一,cat命令的名称来自于concatenate。它可以读取和连接文件,将其内容写入到标准输出。如果未指定文件名或指定为单个连字符(-),则从标准输入读取

Cat最常用于显示一个或多个文本文件的内容,通过将一个文件的内容附加到另一个文件的末尾来组合文件,以及创建新文件

Cat命令语法

在讨论如何使用cat命令之前,让我们先回顾一下基本语法。

cat实用程序表达式采用以下形式:

cat [OPTIONS] [FILE_NAMES]
  • OPTIONS- cat的选项。使用cat --help可查看所有可用的选项
  • FILE_NAMES - 零个或多个文件名

使用Cat显示文件内容

cat命令最基本和最常见的用法是读取文件的内容

例如,以下命令将显示/etc/issue终端中文件的内容:

cat /etc/issue

重定向文件的内容

您可以将输出重定向到文件,而不是将输出显示到stdout标准输出(在屏幕上)

以下命令将file1.txt 的内容复制到file2.txt 并使用(>)重定向操作符:

cat file1.txt > file2.txt

当然你也可以使用cp命令复制文件

如果file2.txt文件不存在,命令将创建它。否则,它将覆盖该文件

使用(>>)重定向操作符将file1.txt内容追加到file2.txt

cat file1.txt >> file2.txt

与之前相同,如果文件不存在,则将创建该文件

打印行号

要使用行号显示文件的内容,请使用-n参数:

cat -n /etc/lsb-release
1	DISTRIB_ID=Ubuntu
2	DISTRIB_RELEASE=18.04
3	DISTRIB_CODENAME=bionic
4	DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

去除重复的空行

使用-s参数省略重复的空行输出:

cat -s file.txt

显示TAB字符

使用-T参数可以在视觉上区分tab制表符和空格

cat -T /etc/hosts
127.0.0.1^Ilocalhost
127.0.1.1^Iubuntu1804.localdomain

TAB字符将显示为^I

显示行尾

要显示不可见的行结束字符,请使用以下-e参数:

cat -e /etc/lsb-release
DISTRIB_ID=Ubuntu$
DISTRIB_RELEASE=18.04$
DISTRIB_CODENAME=bionic$
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$

行结尾将显示为$

用Cat连接文件

将两个或多个文件名作为参数传递给cat命令时,这会连接文件的内容。Cat按其参数中给出的顺序读取文件,并以相同的顺序显示文件的内容。

例如,以下命令将读取和的内容,file1.txtfile2.txt在终端中显示结果:

cat file1.txt file2.txt

您可以连接两个或多个文本文件并将它们写入文件

以下命令将连接和的内容,file1.txt并使用(>)运算符file2.txt将它们写入新文件:combinedfile.txt

cat file1.txt file2.txt > combinedfile.txt

如果combinedfile.txt文件不存在,命令将创建它。否则,它将覆盖该文件。

要连接的内容file1.txtfile2.txt并追加结果file3.txt使用(>>)操作:

cat file1.txt file2.txt >> file3.txt

如果该文件不存在,则将创建该文件

使用Cat创建文件

创建一个小文件时,使用cat比使用Vim,Sublime Text,Visual Studio Code或任何其他文本编辑器要容易得多

要创建新文件,在cat命令后跟重定向运算符(>)和要创建的文件的名称。按键Enter入文本,完成后按CRTL+D保存文件

在以下示例中,我们将创建一个名为的新文件file1.txt

cat > file1.txt

如果存在名为的文件file1.txt,则将覆盖该文件。使用(>> )运算符将输出附加到现有文件

如有疑问请在下方留言

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持