Linux cat命令详解使用:高效文本内容管理

cat是 Linux 中最常用的命令之一,主要用于查看文件内容、合并文件以及重定向输出。它可以一次性显示文件内容,也可以将多个文件的内容串联显示出来。

基本语法
bash 复制代码
cat [选项] [文件...]
常用参数选项
  • -n:为输出的每一行添加行号。
  • -b:为非空行添加行号。
  • -s:压缩连续的空白行成一行。
  • -A:显示所有不可见字符(例如换行符 $ 和制表符 ^I)。
  • -T:将制表符显示为 ^I
  • -v:显示不可打印字符(除了换行和制表符)。
1. 查看文件内容
  • 查看文件的全部内容:

    bash 复制代码
    cat file.txt

    这会直接在终端中显示 file.txt 的内容。

2. 将多个文件的内容连接并输出
  • 合并文件内容:

    bash 复制代码
    cat file1.txt file2.txt

    这会将 file1.txtfile2.txt 的内容连接并输出。

  • 将多个文件的内容合并输出到一个新的文件:

    bash 复制代码
    cat file1.txt file2.txt > merged.txt

    file1.txtfile2.txt 的内容将被合并并保存到 merged.txt 中。

3. 为文件内容添加行号
  • 为每一行添加行号:

    bash 复制代码
    cat -n file.txt

    输出:

    txt 复制代码
    1  Line one
    2  Line two
    3  Line three
  • 仅为非空行添加行号:

    bash 复制代码
    cat -b file.txt

    输出:

    txt 复制代码
      1  Line one
    
      2  Line two
4. 显示不可见字符
  • 显示文件中的不可见字符:

    bash 复制代码
    cat -A file.txt

    输出:

    txt 复制代码
    Line one$  (换行符显示为$)
    Line two^I  (制表符显示为^I)
5. 压缩连续的空白行
  • 将连续的空白行压缩为一行:

    bash 复制代码
    cat -s file.txt

    如果文件中有连续的空白行,它们将被压缩成一行。

6. 创建或追加文件内容
  • 从终端输入创建一个新文件:

    bash 复制代码
    cat > newfile.txt

    你可以在终端中输入内容,按 Ctrl+D 结束输入。

  • 向已有文件追加内容:

    bash 复制代码
    cat >> file.txt

    在终端输入内容后按 Ctrl+D 结束,它会将输入追加到 file.txt 的末尾。

7. 显示部分文件内容

如果文件内容非常大,可以结合 catheadtail 等命令来查看部分内容:

  • 查看文件的前 10 行:

    bash 复制代码
    cat file.txt | head -n 10
  • 查看文件的最后 10 行:

    bash 复制代码
    cat file.txt | tail -n 10
8. 重定向和管道

cat 常与其他命令组合使用,以下是几个常用实例:

  • 重定向到新文件:

    bash 复制代码
    cat file.txt > newfile.txt
  • grep 一起使用过滤内容:

    bash 复制代码
    cat file.txt | grep "search_term"
  • sort 一起使用进行排序:

    bash 复制代码
    cat file.txt | sort

cat 是一个功能强大的命令,特别适合快速查看文件、合并文件以及处理文本流。在日常的文件操作中,cat 与其他命令结合使用能够极大地提高处理效率。

相关推荐
陈随易4 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
IT_陈寒7 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰8 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
用户8356290780518 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
小满zs8 小时前
Go语言第二章(小无相功)
后端·go
用户8356290780518 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k9 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花9 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
贰先生9 小时前
Xiuno BBS X版 用户封禁系统
后端
karry_k9 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端