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.txt
并file2.txt
在终端中显示结果:
cat file1.txt file2.txt
您可以连接两个或多个文本文件并将它们写入文件
以下命令将连接和的内容,file1.txt
并使用(>
)运算符file2.txt
将它们写入新文件:combinedfile.txt
cat file1.txt file2.txt > combinedfile.txt
如果combinedfile.txt
文件不存在,命令将创建它。否则,它将覆盖该文件。
要连接的内容file1.txt
和file2.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
,则将覆盖该文件。使用(>>
)运算符将输出附加到现有文件
如有疑问请在下方留言