1 | cat
|
2 | ===
|
3 |
|
4 | 连接多个文件并打印到标准输出。
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | cat [OPTION]... [FILE]...
|
10 | ```
|
11 |
|
12 | ## 主要用途
|
13 |
|
14 | - 显示文件内容,如果没有文件或文件为`-`则读取标准输入。
|
15 | - 将多个文件的内容进行连接并打印到标准输出。
|
16 | - 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。
|
17 |
|
18 | ## 参数
|
19 |
|
20 | FILE(可选):要处理的文件,可以为一或多个。
|
21 |
|
22 | ## 选项
|
23 |
|
24 | ```shell
|
25 | 长选项与短选项等价
|
26 |
|
27 | -A, --show-all 等价于"-vET"组合选项。
|
28 | -b, --number-nonblank 只对非空行编号,从1开始编号,覆盖"-n"选项。
|
29 | -e 等价于"-vE"组合选项。
|
30 | -E, --show-ends 在每行的结尾显示'$'字符。
|
31 | -n, --number 对所有行编号,从1开始编号。
|
32 | -s, --squeeze-blank 压缩连续的空行到一行。
|
33 | -t 等价于"-vT"组合选项。
|
34 | -T, --show-tabs 使用"^I"表示TAB(制表符)。
|
35 | -u POSIX兼容性选项,无意义。
|
36 | -v, --show-nonprinting 使用"^"和"M-"符号显示控制字符,除了LFD(line feed,即换行符'\n')和TAB(制表符)。
|
37 |
|
38 | --help 显示帮助信息并退出。
|
39 | --version 显示版本信息并退出。
|
40 | ```
|
41 |
|
42 | ## 返回值
|
43 |
|
44 | 返回状态为成功除非给出了非法选项或非法参数。
|
45 |
|
46 | ## 例子
|
47 |
|
48 | ```shell
|
49 | # 合并显示多个文件
|
50 | cat ./1.log ./2.log ./3.log
|
51 | # 显示文件中的非打印字符、tab、换行符
|
52 | cat -A test.log
|
53 | # 压缩文件的空行
|
54 | cat -s test.log
|
55 | # 显示文件并在所有行开头附加行号
|
56 | cat -n test.log
|
57 | # 显示文件并在所有非空行开头附加行号
|
58 | cat -b test.log
|
59 | # 将标准输入的内容和文件内容一并显示
|
60 | echo '######' |cat - test.log
|
61 | ```
|
62 |
|
63 | ### 注意
|
64 |
|
65 | 1. 该命令是`GNU coreutils`包中的命令,相关的帮助信息请查看`man -s 1 cat`或`info coreutils 'cat invocation'`。
|
66 | 2. 当使用`cat`命令查看**体积较大的文件**时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容,为了控制滚屏,可以按`Ctrl+s`键停止滚屏;按`Ctrl+q`键恢复滚屏;按`Ctrl+c`(中断)键可以终止该命令的执行,返回Shell提示符状态。
|
67 | 3. 建议您查看**体积较大的文件**时使用`less`、`more`命令或`emacs`、`vi`等文本编辑器。
|
68 |
|
69 | ### 参考链接
|
70 |
|
71 | 1. [Question about LFD key](https://superuser.com/questions/328054/is-there-an-lfd-key-on-my-keyboard)
|
72 |
|
73 |
|