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 与其他命令结合使用能够极大地提高处理效率。

相关推荐
Doraemomo3 分钟前
Linux编程-标准IO和系统IO
linux·运维·服务器
骇客野人4 分钟前
Linux 查看 Java 进程常用命令
java·linux·运维
shengjk16 分钟前
从 StarRocks Stream Load 400 报错,彻底搞懂 HTTP 100-continue
后端
睡一觉就好了。10 分钟前
Linux 信号机制
linux·运维·网络
正点原子19 分钟前
【正点原子Linux连载】 第十章 pinctrl和gpio子系统实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
程序员cxuan26 分钟前
Anthropic:session 之间可以相互通信了
人工智能·后端·程序员
卷无止境1 小时前
FastAPI 前端托管全攻略:从静态文件到大型全栈项目架构
后端·python
webmote331 小时前
用 NVIDIA Nemotron 3 Super + .NET 构建有记忆的多轮对话
后端·算法
气泡水。1 小时前
RHCSA笔记实记
linux·笔记
神奇小汤圆1 小时前
JUC三大常用工具类CountDownLatch、CyclicBarrier、Semaphore
后端