cat 命令
100%

命令行 · 第 7 课

cat 命令

学习使用 cat 命令安全地显示、连接和重定向文件内容。

学会识别文件后,下一步是读取它们的内容。cat 命令可以显示文件并连接其内容;它的名称是“concatenate”(连接)的缩写。

查看文件内容

cat 命令最基本的用法是直接在终端显示单个文件的内容。

$ cat myfile.txt

该命令会把整个文件写入标准输出,此处也就是终端。这很适合短文本,但长文件可能会滚动得太快。

哪个命令会在终端中显示 myfile.txt 的全部内容?

连接文件

顾名思义,cat 可以将多个文件连接起来并显示它们的合并输出。它按照提供的顺序读取文件并依次打印。

$ cat dogfile birdfile

该命令会先显示 dogfile,再显示 birdfile

要将合并的输出保存到新文件中,可以使用重定向:

$ cat dogfile birdfile > animals

shell 会在运行 cat 前创建或清空 animals,再把合并后的输出发送到其中。不要把任何输入文件用作这个目标,否则它可能在 cat 读取前就被清空。

哪个命令会把 part1 后接 part2 的内容写入新建或替换的 whole

把终端输入写入文件

你也可以使用 cat 和输出重定向操作符(>)来创建新文件。这是直接从终端写入文本到文件的快捷方式。

$ cat > newfile.txt

运行命令后输入所需文本。按 Ctrl+D 发送文件结束信号并返回 shell。请注意,如果 newfile.txt 已存在,> 会清空其原有内容。

如果想追加内容而不是覆盖,使用 >>

$ cat >> notes.txt

你想在现有 notes.txt 末尾继续输入文本。哪个命令会开始这一操作而不清空文件?

格式化输出

cat 命令有多个选项可以改变其行为。

  • -n:为所有输出行编号,从 1 开始。
  • -b:只为非空输出行编号。
  • -s:将多个空行压缩为一行空行。
  • -A:显示不可打印字符、制表符和行尾符。

示例:

$ cat -n script.sh
$ cat -b notes.txt
$ cat -s messy.txt

哪个命令只给 notes.txt 输出中的非空行编号?

为长文件选择查看器

cat 适合短文件。对于长文件,使用 less,这样你可以滚动、搜索并退出,而不会让终端内容泛滥。

$ less /var/log/syslog

哪个命令更适合交互式阅读很长的日志文件?

要练习显示和连接文件内容,可以尝试以下动手实验:

  1. Linux cat 命令:文件连接 - 学习 cat 命令用于查看、连接和操作文本文件,提升命令行处理文本文件的效率。
  2. 在 Linux 中查看日志和配置文件 - 练习使用 cat 等命令高效查看和浏览文本文件,包括系统日志和配置文件,以提取关键信息。

课程已完成

你已完成 cat 命令

现在,你可以使用 cat 显示和合并文件内容,并安全选择重定向方式。

  • 显示短文件的完整内容。

  • 按指定顺序连接文件。

  • 有意识地替换目标或向目标追加内容。

  • 为输出行编号或简化输出。

  • 在适合交互式阅读时选择 less

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 命令行