菜鸟科技网

aix cat命令如何高效查看文件内容?

cat 是 concatenate(连接)的缩写,是类 Unix 系统(包括 AIX)中最基础、最常用的命令之一,它的核心功能是将文件的内容连接并输出到标准输出(通常是你的终端屏幕)

aix cat命令如何高效查看文件内容?-图1
(图片来源网络,侵删)

下面将从基本用法到高级技巧,全面介绍 AIX 中的 cat 命令。


基本语法

cat [选项] [文件名...]
  • 选项: 用于控制 cat 命令的行为。
  • 文件名: 可以是一个或多个文件名,如果提供多个文件名,cat 会按顺序将它们的内容连接在一起输出。

常用选项和示例

1 显示文件内容 (最基本用法)

这是 cat 最常见的用途,即查看一个文本文件的内容。

示例: 显示 my_notes.txt 文件的内容。

cat my_notes.txt

输出:

aix cat命令如何高效查看文件内容?-图2
(图片来源网络,侵删)
这是我的第一个笔记。
记录今天的学习内容。
AIX cat 命令很有用。

重要提示: 如果文件非常大,内容会瞬间全部刷到屏幕上,你可能看不清前面的内容,对于大文件,建议使用 lessmore 命令进行分页查看。

2 同时显示多个文件

cat 可以将多个文件的内容依次连接并显示。

示例: 先显示 file1.txt 的内容,然后紧接着显示 file2.txt 的内容。

cat file1.txt file2.txt

输出:

aix cat命令如何高效查看文件内容?-图3
(图片来源网络,侵删)
// file1.txt 的内容
这是文件一的第一行。
这是文件一的第二行。
// file2.txt 的内容
这是文件二的第一行。
这是文件二的第二行。

3 将内容重定向到新文件 (创建/覆写文件)

使用输出重定向符 >,可以将 cat 的输出(即文件内容)写入到一个新文件中,如果目标文件已存在,它将被完全覆盖

示例:file1.txtfile2.txt 的内容合并并保存到 combined.txt 文件中。

cat file1.txt file2.txt > combined.txt

执行后,你可以用 cat combined.txt 来验证新文件是否创建成功且内容正确。

4 将内容追加到现有文件

使用输出追加重定向符 >>,可以将 cat 的输出追加到目标文件的末尾,而不会覆盖原有内容。

示例:new_notes.txt 的内容追加到 combined.txt 文件的末尾。

cat new_notes.txt >> combined.txt

再次查看 combined.txt,你会发现它的末尾增加了 new_notes.txt 的内容。

5 使用标准输入

cat 命令也可以不从文件读取,而是从标准输入 读取数据,当你不提供任何文件名时,cat 就会进入交互模式,等待你从键盘输入内容。

示例:

  1. 直接输入 cat,然后按回车。
  2. 输入一些文本,每输完一行按回车。
  3. 当你完成输入后,按下 Ctrl+D (表示文件结束符 EOF),cat 会将你输入的所有内容输出到屏幕上。
cat
Hello, this is a test.
This is the second line.
^D  <-- 在这里按下 Ctrl+D

输出:

Hello, this is a test.
This is the second line.

你也可以将标准输入和输出重定向结合使用,创建一个简单的交互式文件创建工具。

cat > my_new_file.txt
This is line 1.
This is line 2.
^D

my_new_file.txt 文件就被创建了,并包含你输入的两行内容。

6 常用选项详解

选项 全称 功能描述 示例
-n --number 显示行号,输出的每一行前都会加上一个行号(从 1 开始)。 cat -n my_notes.txt
-b --number-nonblank 显示非空行号,只对非空行进行编号,空行不编号。 cat -b my_notes.txt
-A --show-all 显示所有字符,这是一个非常实用的选项,它会显示所有控制字符,
• (行尾)
Tab 键显示为 ^I
• 换行符显示为 ^J
• 其他非打印字符也会以 ^ 的形式显示。
cat -A my_notes.txt
-s --squeeze-blank 压缩连续的空行,将多个连续的空行压缩为一个空行。 cat -s messy_file.txt
-v --show-nonprinting 显示非打印字符(除了 TabLine Feed),与 -A 类似,但不显示行尾的 和 Tab cat -v my_notes.txt
-E --show-ends 显示行结束符,在每行的结尾显示一个 符号。 cat -E my_notes.txt
-T --show-tabs 显示 Tab 字符,将 Tab 键显示为 ^I cat -T my_notes.txt

高级技巧与注意事项

1 结合管道 使用

cat 命令的真正威力在于它经常与其他命令通过管道 结合使用,将一个命令的输出作为另一个命令的输入。

示例: 查看 error.log 文件,并过滤出包含 "ERROR" 关键词的行。

cat error.log | grep "ERROR"

示例:large_file.txt 的内容进行排序并去重。

cat large_file.txt | sort | uniq

注意: 在上述管道示例中,cat large_file.txt 通常可以简化为直接使用 large_file.txt

# 这两种写法效果相同,但第二种更简洁高效
cat large_file.txt | sort
sort large_file.txt

当需要处理来自多个文件或标准输入的流时,cat 就变得非常必要了。

2 处理二进制文件

警告: cat 命令不应该用于直接查看二进制文件(如可执行文件、图片、压缩包等),因为二进制文件中包含很多非打印字符,直接输出到终端可能会导致终端显示混乱、卡死或出现不可预测的行为。

如果你确实需要查看或处理二进制文件,请使用专门的工具,如 od (octal dump) 或 hexdump

示例: 以八进制格式查看二进制文件的头几行。

od -c my_binary_file | head

功能 命令示例 描述
查看文件 cat filename 基本用法,显示文件全部内容。
合并文件 cat f1 f2 > f3 将 f1 和 f2 的内容合并并覆盖写入 f3。
cat f1 >> f2 将 f1 的内容追加到 f2 的末尾。
创建文件 cat > newfile 从键盘输入创建新文件,Ctrl+D 结束。
显示行号 cat -n filename 并附带行号。
显示所有字符 cat -A filename 显示所有字符,包括 Tab 和行尾符。
过滤日志 cat app.log \| grep "ERROR" 结合管道,过滤出包含 "ERROR" 的行。

掌握 cat 命令是使用 AIX 命令行的第一步,虽然它很简单,但通过与其他工具和重定向符结合,它可以成为你日常系统管理和文本处理中不可或缺的强大工具。

分享:
扫描分享到社交APP
上一篇
下一篇