Linux 命令:cat

Linux cat 命令详细教程

  • cat(concatenate 的缩写)是 Linux 系统中最常用的命令之一,主要用于查看文件内容连接文件创建简单文件。它功能简洁但灵活,是文件操作的基础工具。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本语法
cat [选项] [文件...]
  • 核心功能
    • 显示单个或多个文件的内容。
    • 将多个文件连接(合并)后输出。
    • 配合重定向符号(>>>)创建或追加文件内容。
二、常用选项
选项功能描述
-n显示行号(包括空行)
-b只对非空行显示行号(忽略空行)
-s压缩连续的空行为一行(避免过多空行)
-E在每行末尾显示 $ 符号(用于显示换行符位置)
-T将 Tab 字符显示为 ^I(便于查看制表符)
-v显示不可打印字符(如控制字符)
--help显示帮助信息
--version显示版本信息
三、实际操作示例
1. 查看单个文件内容
cat filename.txt  # 直接输出文件全部内容到终端
2. 查看多个文件内容(按顺序连接显示)
cat file1.txt file2.txt  # 先显示 file1.txt,再显示 file2.txt 的内容
3. 显示行号(-n 选项)
cat -n filename.txt

输出示例

     1  line 1
     2  line 2
     3  
     4  line 4
4. 只对非空行显示行号(-b 选项)
cat -b filename.txt

输出示例

     1  line 1
     2  line 2
     3  line 4
5. 压缩连续空行(-s 选项)
cat -s filename_with_many_blank_lines.txt
6. 显示行尾符号(-E 选项)
cat -E filename.txt

输出示例

line 1$
line 2$
$
line 4$
7. 显示 Tab 符号(-T 选项)
cat -T filename_with_tabs.txt

输出示例

column1^Icolumn2^Icolumn3
data1^Idata2^Idata3
8. 组合选项(如同时显示行号和行尾符号)
cat -nE filename.txt
四、高级用法:与重定向结合
1. 创建新文件(覆盖写入)
cat > new_file.txt  # 输入内容,按 Ctrl+D 结束输入
  • new_file.txt 已存在,内容会被覆盖。
2. 追加内容到文件(>> 符号)
cat >> existing_file.txt  # 输入内容,按 Ctrl+D 结束,内容会追加到文件末尾
3. 合并多个文件到一个新文件
cat file1.txt file2.txt > merged_file.txt  # 将 file1 和 file2 合并为 merged_file
4. 使用 Here Document 输入多行内容
cat > script.sh << EOF
#!/bin/bash
echo "Hello, World!"
EOF
  • 这会创建一个包含两行内容的 script.sh 文件。
五、特殊场景与注意事项
1. 处理大文件
  • cat 会一次性输出整个文件,若文件过大,可能导致终端卡顿。此时建议使用 morelesshead/tail 命令:
    less large_file.txt  # 分页查看大文件
    
2. 查看二进制文件
  • 直接用 cat 查看二进制文件(如图片、可执行文件)会输出乱码,应使用专用工具(如 hexdump):
    hexdump -C binary_file  # 以十六进制和 ASCII 格式查看二进制文件
    
3. 安全风险
  • 避免使用 cat 直接查看敏感文件(如 /etc/shadow),需配合 sudo 且谨慎操作:
    sudo cat /etc/shadow  # 需管理员权限,内容包含用户密码哈希
    
4. 管道应用
  • cat 常与其他命令通过管道(|)组合使用,例如统计文件行数:
    cat filename.txt | wc -l  # 等价于 wc -l filename.txt
    
六、总结

cat 是 Linux 中最基础的文件操作工具,核心用途包括:

  1. 查看文件内容(配合 -n-E 等选项增强可读性)。
  2. 合并文件(通过重定向将多个文件合并为一个)。
  3. 快速创建简单文件(通过标准输入和重定向)。

尽管功能简单,但在脚本编写、日志查看、临时文件创建等场景中频繁使用。建议结合重定向和管道命令,发挥其更大威力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值