当前位置:首页>Linux>Linux 中非常基础且强大的 cat命令

Linux 中非常基础且强大的 cat命令

  • 2026-10-11 07:51:01
Linux 中非常基础且强大的 cat命令

cat命令是 concatenate(连接)的缩写,但其功能远不止于此。它是用于查看、创建、合并文件内容的瑞士军刀。


命令功能

cat命令主要有三大功能:

  1. 查看文件内容并显示在终端上。

  2. 创建新的小型文件。

  3. 合并多个文件的内容并输出(可以输出到屏幕或另一个文件)。


命令语法

基本语法格式如下:

cat [选项] [文件...]

如果指定多个文件,cat会按顺序显示它们的内容。


常用选项

选项

全称

说明

-n

--number

显示行号。对所有输出的行进行编号。

-b

--number-nonblank

显示非空行的行号。空行不编号。

-s

--squeeze-blank

压缩连续空行。将多个相邻的空行压缩成一行。

-E

--show-ends

在每行末尾显示 $符号。这有助于查看行尾的空白字符。

-T

--show-tabs

将制表符(Tab)显示为 ^I。这有助于查看缩进。

-A

--show-all

相当于 -vET。显示所有不可见的字符(行尾符、制表符等)。

-v

--show-nonprinting

显示非打印字符(除了换行符和制表符)。


常用示例

1. 查看文件内容(最基本用法)

在终端中显示 file.txt文件的全部内容。

cat file.txt

2. 查看多个文件内容

按顺序显示 file1.txt和 file2.txt的内容。

cat file1.txt file2.txt

3. 显示行号

显示 file.txt的内容,并在每一行前加上行号(包括空行)。

cat -n file.txt

输出示例:

1  This is line one.
     2
     3  This is line three after a blank line.

4. 显示非空行的行号

显示 file.txt的内容,只对非空行编号。

cat -b file.txt

输出示例:

1  This is line one.

     2  This is line three after a blank line.

5. 创建新文件(与重定向符 >合用)

创建一个名为 newfile.txt的新文件。输入完命令后,你可以开始键入内容,按 Ctrl + D(EOF)保存并退出。

cat > newfile.txt
This is the content of my new file.
I can type multiple lines.
Press Ctrl+D to save and exit. [Ctrl+D is pressed here]

6. 向文件末尾追加内容(与重定向符 >>合用)

在已存在的文件 existingfile.txt的末尾追加新内容。

cat >> existingfile.txt
This line will be appended to the end of the file.
[Ctrl+D]

7. 合并多个文件到一个新文件

将 file1.txt和 file2.txt的内容合并,并输出到一个全新的文件 combined_file.txt中。

cat file1.txt file2.txt > combined_file.txt

注意:如果 combined_file.txt已存在,它将被覆盖。

8. 合并多个文件并追加到一个文件

将 file3.txt的内容追加到 combined_file.txt的末尾。

cat file3.txt >> combined_file.txt

9. 显示不可见字符

使用 -A选项查看文件中的所有字符,包括行尾符($)和制表符(^I)。这在检查脚本格式时非常有用。

cat -A my_script.sh

输出可能类似于:

#!/bin/bash^M$
echo "Hello World"^M$
^Iecho "This line is indented with a tab"^M$

10. 压缩连续空行

如果文件中有很多连续的空行,这个选项可以将它们压缩为一个空行,使输出更简洁。

cat -s file_with_blanks.txt

11. 与管道符 |结合使用

cat经常与其他命令通过管道 (|) 连接,将其输出的内容作为另一个命令的输入。

例如,将 file.txt的内容发送给 grep命令进行搜索:

cat file.txt | grep "keyword"

或者发送给 more或 less命令进行分页查看(对于长文件,这比直接 cat更好):

cat long_file.log | less


重要注意事项和局限性

  1. 不适合查看长文件:cat会一次性输出文件的所有内容。如果文件非常大(如日志文件),它会瞬间刷满你的终端屏幕,让你无法看清开头的内容。对于长文件,应使用分页命令:

    • less file.txt(推荐:可上下翻页、搜索)

    • more file.txt(基础分页)

  2. 文件覆盖风险:使用重定向符号 >时要非常小心,因为如果目标文件已存在,它会被静默覆盖,且无法恢复。例如,cat file1 > important_file会清空 important_file的内容并写入 file1的内容。

  3. 并非编辑器:cat > file适合创建内容很少的文件,但对于编辑现有文件或进行复杂编辑,应该使用专门的文本编辑器,如 nano, vim, gedit等。


总结

你想做的事

命令

快速查看短文件

cat filename

查看带行号的文件

cat -n filename

创建一个小文件

cat > newfile

合并文件A和B到新文件C

cat A.txt B.txt > C.txt

将文件A追加到文件B末尾

cat A.txt >> B.txt

检查文件中的隐藏字符

cat -A filename

将文件内容作为其他命令的输入

`cat file

cat命令是 Linux 入门必须掌握的第一个命令之一,它简单但功能多样,是文件操作的基础。

最新文章

随机文章