文件查看编辑命令 cat
cat 是 Linux 里非常常用的一个命令,名字是 concatenate 的缩写,主要用来查看文件内容、合并文件、创建文件等。
1. 基本语法
cat [选项] [文件...]
- 文件:可以是一个或多个,如果多个会按顺序依次输出到标准输出。
- 选项:用来控制
cat
的输出方式。
2. 查看文件内容
最常用的场景就是直接看一个文件的内容:
cat file.txt
如果文件比较大,cat
会一次性全部输出到终端,这时可能要配合 less
或 more
使用。
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.txt
和 file2.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