Update cat.md

更新文档内容。
This commit is contained in:
ZhuangZhu-74 2019-09-26 17:23:30 +08:00 committed by GitHub
parent cb723f5bc5
commit 63e0fbf4c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 53 additions and 24 deletions

View File

@ -1,44 +1,73 @@
cat
===
连接文件并打印到标准输出设备上
连接多个文件并打印到标准输出。
## 补充说明
**cat命令** 连接文件并打印到标准输出设备上cat经常用来显示文件的内容类似于下的type命令。
注意当文件较大时文本在屏幕上迅速闪过滚屏用户往往看不清所显示的内容。因此一般用more等命令分屏显示。为了控制滚屏可以按Ctrl+S键停止滚屏按Ctrl+Q键可以恢复滚屏。按Ctrl+C中断键可以终止该命令的执行并且返回Shell提示符状态。
### 语法
## 概要
```shell
cat(选项)(参数)
cat [OPTION]... [FILE]...
```
### 选项
## 主要用途
- 显示文件内容,如果没有文件或文件为`-`则读取标准输入。
- 将多个文件的内容进行连接并打印到标准输出。
- 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。
## 参数
FILE可选要处理的文件可以为一或多个。
## 选项
```shell
-n或--number从1开始对所有输出的行数编号
-b或--number-nonblank和-n相似只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行就代换为一行的空白行
-A显示不可打印字符行尾显示“$”;
-e等价于"-vE"选项;
-t等价于"-vT"选项;
长选项与短选项等价
-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-"符号显示控制字符除了LFDline feed即换行符'\n'和TAB制表符
--help 显示帮助信息并退出。
--version 显示版本信息并退出。
```
### 参数
## 返回值
文件列表:指定要连接的文件列表。
返回状态为成功除非给出了非法选项或非法参数
### 实例
设m1和m2是当前目录下的两个文件
## 例子
```shell
cat m1 在屏幕上显示文件m1的内容
cat m1 m2 同时显示文件m1和m2的内容
cat m1 m2 > file 将文件m1和m2合并后放入文件file中
# 合并显示多个文件
cat ./1.log ./2.log ./3.log
# 显示文件中的非打印字符、tab、换行符
cat -A test.log
# 压缩文件的空行
cat -s test.log
# 显示文件并在所有行开头附加行号
cat -n test.log
# 显示文件并在所有非空行开头附加行号
cat -b test.log
# 将标准输入的内容和文件内容一并显示
echo '######' |cat - test.log
```
### 注意
1. 该命令是`GNU coreutils`包中的命令,相关的帮助信息请查看`man -s 1 cat`或`info coreutils 'cat invocation'`。
2. 当使用`cat`命令查看**体积较大的文件**时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容,为了控制滚屏,可以按`Ctrl+s`键停止滚屏;按`Ctrl+q`键恢复滚屏;按`Ctrl+c`中断键可以终止该命令的执行返回Shell提示符状态。
3. 建议您查看**体积较大的文件**时使用`less`、`more`命令或`emacs`、`vi`等文本编辑器。
### 参考链接
1. [Question about LFD key](https://superuser.com/questions/328054/is-there-an-lfd-key-on-my-keyboard)
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->