您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

cat

概要

shell
cat [OPTION]... [FILE]...

主要用途

  • 显示文件内容,如果没有文件或文件为-则读取标准输入。

  • 将多个文件的内容进行连接并打印到标准输出。

  • 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。

    参数

    FILE(可选):要处理的文件,可以为一或多个。

    选项

    shell
    长选项与短选项等价
    
    -A, --show-all           等价于"-vET"组合选项。
    -b, --number-nonblank    只对非空行编号,从1开始编号,覆盖"-n"选项。
    -e                       等价于"-vE"组合选项。
    -E, --show-ends          在每行的结尾显示'$'字符。
    -n, --number             对所有行编号,从1开始编号。
    -s, --squeeze-blank      压缩连续的空行到一行。
    -t                       等价于"-vT"组合选项。
    -T, --show-tabs          使用"^I"表示TAB(制表符)。
    -u                       POSIX兼容性选项,无意义。
    -v, --show-nonprinting   使用"^"和"M-"符号显示控制字符,除了LFD(line feed,即换行符'\n')和TAB(制表符)。
    
    --help                   显示帮助信息并退出。
    --version                显示版本信息并退出。
    

    返回值

    返回状态为成功除非给出了非法选项或非法参数。

    例子

    shell
    <h1>合并显示多个文件</h1>
    cat ./1.log ./2.log ./3.log
    <h1>显示文件中的非打印字符、tab、换行符</h1>
    cat -A test.log
    <h1>压缩文件的空行</h1>
    cat -s test.log
    <h1>显示文件并在所有行开头附加行号</h1>
    cat -n test.log
    <h1>显示文件并在所有非空行开头附加行号</h1>
    cat -b test.log
    <h1>将标准输入的内容和文件内容一并显示</h1>
    echo '######' |cat - test.log
    

    注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 catinfo coreutils 'cat invocation'

  1. 当使用cat命令查看体积较大的文件时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容,为了控制滚屏,可以按Ctrl+s键停止滚屏;按Ctrl+q键恢复滚屏;按Ctrl+c(中断)键可以终止该命令的执行,返回Shell提示符状态。

  1. 建议您查看体积较大的文件时使用lessmore命令或emacsvi等文本编辑器。

    参考链接

  1. [Question about LFD key](https://superuser.com/questions/328054/is-there-an-lfd-key-on-my-keyboard)