Skip to main content

Linux 核心命令

文件查看编辑命令 cat

cat 是 Linux 里非常常用的一个命令,名字是 concatenate 的缩写,主要用来查看文件内容、合并文件、创建文件等。

1. 基本语法

cat [选项] [文件...]
  • 文件:可以是一个或多个,如果多个会按顺序依次输出到标准输出。
  • 选项:用来控制 cat 的输出方式。

2. 查看文件内容

最常用的场景就是直接看一个文件的内容:

cat file.txt

如果文件比较大,cat 会一次性全部输出到终端,这时可能要配合 lessmore 使用。

3. 同时查看多个文件

cat 支持一次读取多个文件,并按顺序输出:

cat file1.txt file2.txt

如果你想看两个文件的内容并且知道它们的顺序,这个方法很方便。

4. 显示行号

有时查看文件时想知道行号,可以用 -n 选项:

cat -n file.txt

它会给所有行加上编号,包括空行。

5. 只给非空行加行号

如果只想给非空行编号,可以用 -b

cat -b file.txt

空行不会编号,阅读更舒服。

6. 显示不可见字符

-v 选项可以显示控制字符(除了换行和制表符),这样可以检查文件里有没有奇怪的字符:

cat -v file.txt

7. 显示制表符和行尾

  • -T:把制表符显示成 ^I
  • -E:在每行结尾显示 $
cat -T file.txt
cat -E file.txt

这对于调试格式问题(比如多余空格)很有用。

8. 创建新文件(重定向)

cat 不仅能看文件,还能创建文件内容,配合 > 可以写入文件:

cat > newfile.txt

然后输入内容,最后按 Ctrl+D 保存并退出。

9. 追加内容到文件

如果用 >>cat 会把输入内容追加到文件末尾:

cat >> existing.txt

同样按 Ctrl+D 结束输入。

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

cat file1.txt file2.txt > merged.txt

这样会把 file1.txtfile2.txt 的内容合并成 merged.txt,覆盖原文件。

> 换成 >> 就会是追加文件,不会覆盖了。

11. 复制文件

cat 也能充当复制工具(虽然一般用 cp),例如:

cat old.txt > copy.txt

12. 常用选项总结

选项 含义
-n 给所有行编号
-b 只给非空行编号
-s 连续的空行合并成一行
-E 在行尾显示 $
-T 显示制表符为 ^I
-v 显示不可见字符

13. tac 命令:cat 的“倒序版”

tac 命令是 cat 的“反向输出”版本,会从文件的最后一行开始往前输出。
它的基本语法是:

tac [文件...]

如果文件有多行,tac 会把最后一行先显示,然后依次往前显示,例如:

tac file.txt

也可以一次反向输出多个文件:

tac file1.txt file2.txt