Skip to content

cat 命令:连接文件并打印到标准输出

1. 简介

cat 命令是 "concatenate" 的缩写,其主要功能是连接文件并打印到标准输出设备上,但它也常用于查看文件内容。这是 Unix 和类 Unix 系统中最基本和常用的命令之一。

2. 基本语法

Shell
cat [选项] [文件...]

3. 常用选项

  • -n:显示行号
  • -b:显示非空行的行号
  • -s:压缩连续的空行为一行
  • -E:在每行结束处显示 $
  • -T:将 Tab 字符显示为 ^I
  • -v:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外

4. 基础使用示例

  1. 查看文件内容:

    Shell
    cat file.txt
  2. 查看多个文件内容:

    Shell
    cat file1.txt file2.txt
  3. 创建新文件并输入内容:

    Shell
    cat > newfile.txt
    # 输入内容,按 Ctrl+D 结束
  4. 将文件内容追加到另一个文件:

    Shell
    cat file1.txt >> file2.txt

5. 进阶使用技巧

  1. 显示行号:

    Shell
    cat -n file.txt
  2. 显示非空行的行号:

    Shell
    cat -b file.txt
  3. 压缩连续的空行:

    Shell
    cat -s file.txt
  4. 显示特殊字符:

    Shell
    cat -vET file.txt

6. 实用示例

  1. 合并多个文件:

    Shell
    cat file1.txt file2.txt file3.txt > combined.txt
  2. 查看文件头部:

    Shell
    cat file.txt | head -n 10
  3. 反向显示文件内容:

    Shell
    tac file.txt
  4. 生成numbered.txt文件,内容是1到100,每行一个数字:

    Shell
    for i in {1..100}; do echo $i; done | cat -n > numbered.txt

7. 注意事项

  • 对于大文件,cat 会一次性将整个文件加载到内存,可能会影响系统性能。这种情况下,考虑使用 lessmore 命令。
  • 使用 cat 查看二进制文件可能会产生意外的输出或影响终端显示。
  • 在管道中使用 cat 时,注意避免不必要的使用(例如 cat file | grep pattern 可以简化为 grep pattern file)。

8. 相关命令

  • tac:反向显示文件内容
  • less:分页显示文件内容
  • more:分页显示文件内容(较老的版本)
  • head:显示文件开头部分
  • tail:显示文件结尾部分

9. 技巧与建议

  1. 使用 cat 快速创建小型文本文件:

    Shell
    cat << EOF > file.txt
    This is line 1
    This is line 2
    EOF
  2. 使用 cat 来显示文件的非打印字符:

    Shell
    cat -v file.txt
  3. 在脚本中使用 cat 来创建多行文件:

    Shell
    cat > script.sh << 'EOL'
    #!/bin/bash
    echo "Hello, World!"
    # Add more lines here
    EOL

cat 命令虽然简单,但在日常使用和脚本编写中都扮演着重要角色。它不仅用于查看文件内容,还常用于文件合并、创建新文件等操作。熟练使用 cat 可以提高文件处理的效率。