Linux cat 命令的用法示例和技巧
cat
命令用于在控制台标准输出上显示基本的文本文件。如果提供多个文件名作为输入,则会将它们的内容附加起来并显示出来。
cat
命令使用上比较简单,本文也会介绍 cat
的其它一些用法。
如何使用
cat
命令通常用来查看或连接配置文件、日志文件、脚本文件等。
有时,cat
命令可以与 >
和 >>
运算符组合使用,以便从现有文件或标准输入流中编辑文件。这是 cat
命令被用作文本编辑器的一种罕见情况。下面将提供其中一个基本示例及其他相关内容。
命令语法
就像所有本地的 shell 命令一样,你可以使用 man
命令在终端上获取关于 cat
命令的基本语法的手册,但我们在这里也会提供一个简要的提示。下面将提供一些执行该命令的示例以进行说明。
1 | $ cat [OPTION] [filename1 [filename2 [...]]] |
通过上述的语法描述,输入的选项和文件可以不指定,也可以指定多个。我们先简单总结一下 cat
常用的选项
-n
:显示所有行内容的行号-E
:行内容的结尾显示为$
符号-b
:只为非空行的内容显示行号-s
:将多个连续的空行合并为一个-T
:将TAB
显示为^I
-v
:显示非打印字符的可见表示-e
:等价于-v
+-E
选项-t
:等价于-v
+-T
选项-A
:等价于-v
+-e
+-T
选项
常见用法
1. 使用 cat 创建新文件
我们可以使用如下的方法创建新的文件,并且可以同时添加一些数据
1 | $ cat > foo.txt |
检查 foo.txt 文件内容
1 | $ cat foo.txt |
2. 使用 cat 向文件追加内容
我们也可以使用 cat
命令和 >>
符号来创建一个带有一些内容的新文件,或者向现有文件中添加一些新内容。
1 | $ cat >> foo.txt |
我们来看下 foo.txt 文件是否新增加了 123
的内容。
1 | $ cat foo.txt |
3. 显示 TAB 符号
1 | $ cat -T bar.txt |
可以看到显示了 ^I
表示 TAB
符号
4. 显示行结尾符号
1 | $ cat -E bar.txt |
5. 合并连续的空行
使用 -s
选项可以将多个连续的空行合并为一个
1 | $ cat foo.txt |
我们可以看到 foo.txt 文件有两个空行,下边使用 -s
选项看下效果
1 | $ cat -s foo.txt |
可以看到,只显示了一个空行的内容。但需要注意的是,cat
并没有真正修改文件,只是显示效果
6. 只为非空行显示行号
有时我们希望执行 cat
时显示行号,且只希望显示有效内容的行号,可以使用 -b
选项
1 | $ cat foo.txt |
指定 -b
选项来看效果
1 | $ cat -b foo.txt |
我们可以看到,虽然空行显示了出来,但是并没有为空行设置行号
7. 合并多个文本文件
1 | $ cat file1 file2 > file.txt |
8. 在脚本中向文件添加多行内容
有时希望在脚本中可以向文件追加多行内容,使用 cat
的 EOF
方式非常方便
1 | $ cat >> myfile.txt << EOF |