|
1 | 1 | cat |
2 | 2 | === |
3 | 3 |
|
4 | | -连接文件并打印到标准输出设备上 |
| 4 | +连接多个文件并打印到标准输出。 |
5 | 5 |
|
6 | | -## 补充说明 |
| 6 | +## 概要 |
7 | 7 |
|
8 | | -**cat命令** 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。 |
| 8 | +```shell |
| 9 | +cat [OPTION]... [FILE]... |
| 10 | +``` |
9 | 11 |
|
10 | | -注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。 |
| 12 | +## 主要用途 |
11 | 13 |
|
12 | | -### 语法 |
| 14 | +- 显示文件内容,如果没有文件或文件为`-`则读取标准输入。 |
| 15 | +- 将多个文件的内容进行连接并打印到标准输出。 |
| 16 | +- 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。 |
13 | 17 |
|
14 | | -```shell |
15 | | -cat(选项)(参数) |
16 | | -``` |
| 18 | +## 参数 |
| 19 | + |
| 20 | +FILE(可选):要处理的文件,可以为一或多个。 |
17 | 21 |
|
18 | | -### 选项 |
| 22 | +## 选项 |
19 | 23 |
|
20 | 24 | ```shell |
21 | | --n或--number:从1开始对所有输出的行数编号; |
22 | | --b或--number-nonblank:和-n相似,只不过对于空白行不编号; |
23 | | --s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行; |
24 | | --A:显示不可打印字符,行尾显示“$”; |
25 | | --e:等价于"-vE"选项; |
26 | | --t:等价于"-vT"选项; |
27 | | -``` |
| 25 | +长选项与短选项等价 |
28 | 26 |
|
29 | | -### 参数 |
| 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(制表符)。 |
30 | 37 |
|
31 | | -文件列表:指定要连接的文件列表。 |
| 38 | +--help 显示帮助信息并退出。 |
| 39 | +--version 显示版本信息并退出。 |
| 40 | +``` |
| 41 | + |
| 42 | +## 返回值 |
32 | 43 |
|
33 | | -### 实例 |
| 44 | +返回状态为成功除非给出了非法选项或非法参数。 |
34 | 45 |
|
35 | | -设m1和m2是当前目录下的两个文件 |
| 46 | +## 例子 |
36 | 47 |
|
37 | 48 | ```shell |
38 | | -cat m1 (在屏幕上显示文件m1的内容) |
39 | | -cat m1 m2 (同时显示文件m1和m2的内容) |
40 | | -cat m1 m2 > file (将文件m1和m2合并后放入文件file中) |
| 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 |
41 | 61 | ``` |
42 | 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) |
43 | 72 |
|
44 | 73 | <!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ --> |
0 commit comments