️专栏:https://blog.csdn.net/2301_81831423/category_12872319.html
主页:猫咪-9527-CSDN博客“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”
cat
是 Linux/Unix 中的一个非常常用的命令,主要用于 连接 文件并显示文件内容。它的名称来源于 concatenate(连接),不仅可以查看文件内容,还能将多个文件合并为一个文件,或用作其他数据流操作。
以下是对 cat
指令的详细讲解,包括其常见选项、功能和使用示例。
目录
基本语法
基本功能
常用选项详解
1. 显示文件内容
cat [文件名]
2. -n:显示行号
3. -b:为非空行添加行号
4. -s:压缩连续的空行
5. -v:显示非打印字符
6. -T:将制表符显示为 ^I
7. -E:显示每行末尾的 $ 符号
高级用法
1. 合并多个文件
2. 文件内容追加
3. 从标准输入创建文件
4. 查看文件内容分页
5. 显示文件内容带行号
6. 调试文件
使用场景示例
1. 显示文件内容
2. 创建一个文件
3. 将文件合并到一个新文件中
4. 为每行添加行号显示
5. 压缩文件中的空行
6. 显示文件内容,观察不可见字符
注意事项
常用选项总结
cat [选项] [文件...]
cat
会从标准输入(stdin)读取数据。cat
命令的输出。cat [文件名]
显示指定文件的内容。
cat file.txt
-n
:显示行号为每一行添加行号,空行也会编号。
cat -n file.txt
输出示例:
1 Line 1
2
3 Line 2
-b
:为非空行添加行号与 -n
类似,但只为非空行编号。
cat -b file.txt
输出示例:
1 Line 1
2 Line 2
-s
:压缩连续的空行将多行连续的空行合并为一行。
cat -s file.txt
原文件内容:
Line 1
Line 2
输出:
Line 1
Line 2
-v
:显示非打印字符将文件中的不可见字符(如制表符、换行符等)显示为可见形式。
cat -v file.txt
输出示例:
^I
$
-T
:将制表符显示为 ^I
cat -T file.txt
-E
:显示每行末尾的 $
符号cat -E file.txt
输出示例:
Line 1$
Line 2$
将多个文件的内容合并后输出到终端,或重定向到一个新文件。
cat file1.txt file2.txt > merged.txt
将一个文件的内容追加到另一个文件末尾。
cat file1.txt >> file2.txt
cat
可用来从终端输入内容,并保存到文件中(按 Ctrl+D
结束输入)。
cat > newfile.txt
示例操作:
This is the content.
It will be saved in the file.
# 按 Ctrl+D 结束
文件 newfile.txt
内容为:
This is the content.
It will be saved in the file.
如果文件内容过长而无法在一屏显示,可以结合 less
或 more
命令:
cat file.txt | less
cat file.txt | more
结合 nl
命令使用,nl
专门用来为文件添加行号。
cat file.txt | nl
如果需要查看文件中的不可见字符,可以使用 -v
。
cat -v file.txt
cat file.txt
cat > newfile.txt
cat file1.txt file2.txt > merged.txt
cat -n file.txt
cat -s file.txt > no_blank_lines.txt
cat -v file.txt
文件权限:cat
读取文件时,需要对文件有读取权限,否则会报错:
cat: file.txt: Permission denied
大文件处理:对于特别大的文件,不建议使用 cat
,因为它会一次性读取整个文件,可以使用 less
或 head/tail
替代:
less largefile.txt
head -n 100 largefile.txt
覆盖与追加:
>
会覆盖目标文件内容。>>
会将内容追加到目标文件末尾。通过熟练使用 cat
命令,可以轻松查看、编辑、合并和处理文件内容。
选项 | 含义 |
---|---|
-n |
为所有行编号 |
-b |
为非空行编号 |
-A |
显示不可见字符(等同于 -vET ) |
-s |
压缩连续的空白行为一行 |
-T |
将制表符显示为 ^I |
-E |
在每行行尾显示 $ |