您现在的位置是:首页 > 编程 > 

cat命令详解

2025-07-27 15:16:02
cat命令详解 cat 是 Linux/Unix 中的一个非常常用的命令,主要用于 连接 文件并显示文件内容。它的名称来源于 concatenate(连接),不仅可以查看文件内容,还能将多个文件合并为一个文件,或用作其他数据流操作。以下是对 cat 指令的详细讲解,包括其常见选项、功能和使用示例。基本语法代码语言:javascript代码运行次数:0运行复制cat [选项] [文件...]文件:指

cat命令详解

cat 是 Linux/Unix 中的一个非常常用的命令,主要用于 连接 文件并显示文件内容。它的名称来源于 concatenate(连接),不仅可以查看文件内容,还能将多个文件合并为一个文件,或用作其他数据流操作。

以下是对 cat 指令的详细讲解,包括其常见选项、功能和使用示例。

基本语法

代码语言:javascript代码运行次数:0运行复制
cat [选项] [文件...]
  • 文件:指定一个或多个文件,如果省略文件参数,cat 会从标准输入(stdin)读取数据。
  • 选项:用于增强或控制 cat 命令的输出。

基本功能

  1. 显示文件内容:直接输出指定文件的内容到终端。
  2. 合并文件:将多个文件的内容连接起来,并输出到终端或另存为一个新文件。
  3. 创建文件:通过重定向将输入内容保存到新文件中。
  4. 追加文件内容:将多个文件合并或将数据流追加到文件末尾。

常用选项详解

1. 显示文件内容
cat [文件名]

显示指定文件的内容。

代码语言:javascript代码运行次数:0运行复制
cat 
2. -n:显示行号

为每一行添加行号,空行也会编号。

代码语言:javascript代码运行次数:0运行复制
cat -n 

输出示例:

代码语言:javascript代码运行次数:0运行复制
     1  Line 1
     2
       Line 2
. -b:为非空行添加行号

-n 类似,但只为非空行编号。

代码语言:javascript代码运行次数:0运行复制
cat -b 

输出示例:

代码语言:javascript代码运行次数:0运行复制
     1  Line 1
     
     2  Line 2
4. -s:压缩连续的空行

将多行连续的空行合并为一行。

代码语言:javascript代码运行次数:0运行复制
cat -s 

原文件内容:

代码语言:javascript代码运行次数:0运行复制
Line 1


Line 2

输出:

代码语言:javascript代码运行次数:0运行复制
Line 1

Line 2
5. -v:显示非打印字符

将文件中的不可见字符(如制表符、换行符等)显示为可见形式。

代码语言:javascript代码运行次数:0运行复制
cat -v 

输出示例:

  • 制表符:显示为 ^I
  • 行尾符号:显示为 $
6. -T:将制表符显示为 ^I
代码语言:javascript代码运行次数:0运行复制
cat -T 
7. -E:显示每行末尾的 $ 符号
代码语言:javascript代码运行次数:0运行复制
cat -E 

输出示例:

代码语言:javascript代码运行次数:0运行复制
Line 1$
Line 2$

高级用法

1. 合并多个文件

将多个文件的内容合并后输出到终端,或重定向到一个新文件。

代码语言:javascript代码运行次数:0运行复制
cat   > 
2. 文件内容追加

将一个文件的内容追加到另一个文件末尾。

代码语言:javascript代码运行次数:0运行复制
cat  >> 
. 从标准输入创建文件

cat 可用来从终端输入内容,并保存到文件中(按 Ctrl+D 结束输入)。

代码语言:javascript代码运行次数:0运行复制
cat > new

示例操作:

代码语言:javascript代码运行次数:0运行复制
This is the content.
It will be saved in the file.
# 按 Ctrl+D 结束

文件 new 内容为:

代码语言:javascript代码运行次数:0运行复制
This is the content.
It will be saved in the file.
4. 查看文件内容分页

如果文件内容过长而无法在一屏显示,可以结合 lessmore 命令:

代码语言:javascript代码运行次数:0运行复制
cat  | less
cat  | more
5. 显示文件内容带行号

结合 nl 命令使用,nl 专门用来为文件添加行号。

代码语言:javascript代码运行次数:0运行复制
cat  | nl
6. 调试文件

如果需要查看文件中的不可见字符,可以使用 -v

代码语言:javascript代码运行次数:0运行复制
cat -v 

使用场景示例

1. 显示文件内容
代码语言:javascript代码运行次数:0运行复制
cat 
2. 创建一个文件
代码语言:javascript代码运行次数:0运行复制
cat > new
. 将文件合并到一个新文件中
代码语言:javascript代码运行次数:0运行复制
cat   > 
4. 为每行添加行号显示
代码语言:javascript代码运行次数:0运行复制
cat -n 
5. 压缩文件中的空行
代码语言:javascript代码运行次数:0运行复制
cat -s  > no_blank_
6. 显示文件内容,观察不可见字符
代码语言:javascript代码运行次数:0运行复制
cat -v 

注意事项

文件权限cat 读取文件时,需要对文件有读取权限,否则会报错:

代码语言:javascript代码运行次数:0运行复制
cat: : Permission denied

大文件处理:对于特别大的文件,不建议使用 cat,因为它会一次性读取整个文件,可以使用 lesshead/tail 替代:

代码语言:javascript代码运行次数:0运行复制
less large
head -n 100 large

覆盖与追加

  • 使用 > 会覆盖目标文件内容。
  • 使用 >> 会将内容追加到目标文件末尾。

通过熟练使用 cat 命令,可以轻松查看、编辑、合并和处理文件内容。

常用选项总结:

选项

含义

-n

为所有行编号

-b

为非空行编号

-A

显示不可见字符(等同于 -vET)

-s

压缩连续的空白行为一行

-T

将制表符显示为 ^I

-E

在每行行尾显示 $

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-08,如有侵权请联系 cloudcommunity@tencent 删除txt重定向终端catfile

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1180182.html

相关标签:无
上传时间: 2025-07-22 01:09:26
留言与评论(共有 18 条评论)
本站网友 不存在的人
21分钟前 发表
代码语言:javascript代码运行次数:0运行复制cat -b 输出示例:代码语言:javascript代码运行次数:0运行复制 1 Line 1 2 Line 24. -s:压缩连续的空行将多行连续的空行合并为一行
本站网友 从化租房网
23分钟前 发表
或用作其他数据流操作
本站网友 肌肉萎缩性侧索硬化症
23分钟前 发表
但只为非空行编号
本站网友 kk4444kk
7分钟前 发表
选项:用于增强或控制 cat 命令的输出
本站网友 中国旧衣服网
8分钟前 发表
主要用于 连接 文件并显示文件内容
本站网友 美容店名
24分钟前 发表
包括其常见选项
本站网友 袁九儿
25分钟前 发表
代码语言:javascript代码运行次数:0运行复制cat -v 使用场景示例1. 显示文件内容代码语言:javascript代码运行次数:0运行复制cat 2. 创建一个文件代码语言:javascript代码运行次数:0运行复制cat > new. 将文件合并到一个新文件中代码语言:javascript代码运行次数:0运行复制cat > 4. 为每行添加行号显示代码语言:javascript代码运行次数:0运行复制cat -n 5. 压缩文件中的空行代码语言:javascript代码运行次数:0运行复制cat -s > no_blank_6. 显示文件内容
本站网友 楼市新观察
29分钟前 发表
通过熟练使用 cat 命令
本站网友 任丘楼盘
15分钟前 发表
换行符等)显示为可见形式
本站网友 张盟昌
25分钟前 发表
因为它会一次性读取整个文件
本站网友 王海打假
4分钟前 发表
通过熟练使用 cat 命令
本站网友 kaitao
23分钟前 发表
基本语法代码语言:javascript代码运行次数:0运行复制cat [选项] [文件...]文件:指定一个或多个文件
本站网友 云技术是什么意思
20分钟前 发表
选项:用于增强或控制 cat 命令的输出
本站网友 交行分期
8分钟前 发表
因为它会一次性读取整个文件
本站网友 easeljs
22分钟前 发表
代码语言:javascript代码运行次数:0运行复制cat -b 输出示例:代码语言:javascript代码运行次数:0运行复制 1 Line 1 2 Line 24. -s:压缩连续的空行将多行连续的空行合并为一行
本站网友 道县二手房
12分钟前 发表
代码语言:javascript代码运行次数:0运行复制cat -n 输出示例:代码语言:javascript代码运行次数:0运行复制 1 Line 1 2 Line 2. -b:为非空行添加行号与 -n 类似
本站网友 北京三里屯酒吧
1分钟前 发表
合并和处理文件内容