Linux教程网

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
2
3
4
$ cat > foo.txt
hello
world
^ + C # 按下了 Ctrl + C 键

检查 foo.txt 文件内容

1
2
3
$ cat foo.txt
hello
world

2. 使用 cat 向文件追加内容

我们也可以使用 cat 命令和 >> 符号来创建一个带有一些内容的新文件,或者向现有文件中添加一些新内容。

1
2
3
$ cat >> foo.txt
123
^ + C # 按下了 Ctrl + C 键

我们来看下 foo.txt 文件是否新增加了 123 的内容。

1
2
3
4
$ cat foo.txt
hello
world
123

3. 显示 TAB 符号

1
2
3
$ cat  -T bar.txt
^Ihello
^Iworld

可以看到显示了 ^I 表示 TAB 符号

4. 显示行结尾符号

1
2
3
$ cat -E bar.txt
hello$
world$

5. 合并连续的空行

使用 -s 选项可以将多个连续的空行合并为一个

1
2
3
4
5
$ cat foo.txt
hello


world

我们可以看到 foo.txt 文件有两个空行,下边使用 -s 选项看下效果

1
2
3
4
$ cat -s foo.txt
hello

world

可以看到,只显示了一个空行的内容。但需要注意的是,cat 并没有真正修改文件,只是显示效果

6. 只为非空行显示行号

有时我们希望执行 cat 时显示行号,且只希望显示有效内容的行号,可以使用 -b 选项

1
2
3
4
$ cat foo.txt
hello
# 有空行
world

指定 -b 选项来看效果

1
2
3
4
$ cat -b foo.txt
1 hello

2 world

我们可以看到,虽然空行显示了出来,但是并没有为空行设置行号

7. 合并多个文本文件

1
$ cat file1 file2 > file.txt

8. 在脚本中向文件添加多行内容

有时希望在脚本中可以向文件追加多行内容,使用 catEOF 方式非常方便

1
2
3
4
5
$ cat >> myfile.txt << EOF
This is line 1.
This is line 2.
This is line 3.
EOF

专题:

本文发表于 2023-04-10,最后修改于 2023-09-17。

本站永久域名「 golinuxblog.com 」,也可搜索「 Linux教程网 」找到我。


上一篇 « Linux cd 命令详解 下一篇 » 使用GDB调试程序

推荐阅读

Big Image