cat - concatenate files and print on the standard output
cat 命令用于连接文件并打印到标准输出设备上。
用法:
- 1. cat file 查看文件内容,输出到屏幕
- 2. cat test.sh{,.ori} 获取两个文件的内容,等价:cat test.sh test.sh.ori
- 3. cat file1>>file2 将file1的内容追加到file2
- 4. 结合追加重定向和重定向对文件进行覆盖或追加
语法:
cat [OPTION]... [FILE]...
cat [-AbeEnstTuv] [--help] [--version] fileName
参数说明:
- -n 或 --number
- 输出行号(包括空行)
- 由 1 开始对所有输出的行数编号。
- cat -n filename 输出的值前面自动加上行号,方便查看
-b 或 --number-nonblank
- 给非空行标记行号
- 和 -n 相似,只不过对于空白行不编号。
- :
-s 或 --squeeze-blank
- suppress repeated empty output lines
- 当遇到有连续两行以上的空白行,就代换为一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
- -E 或 --show-ends :
- display $ at end of each line
- 每行的结尾跟“$”,空行仅显示"$"。
- -T 或 --show-tabs: 显示tab键,将 TAB 字符显示为 ^I。
- -A, --show-all:等价于 -vET。
- -e:等价于"-vE"选项;
- -t:等价于"-vT"选项;
示例:
# 将date_str.txt文件内容加上行号,输入到file.txt [root@oldboy oldboy]# cat date_str.txt 19900101 19900221 18900223 20000101 20011211 [root@oldboy oldboy]# cat -n date_str.txt > file2.txt [root@oldboy oldboy]# cat file2.txt 1 19900101 2 19900221 3 18900223 4 20000101 5 20011211 6 # 把 date_str.txt 和 file2.txt 的文档内容加上行号(空白行不加)之后将内容附加到 file3.txt 文档里 [root@oldboy oldboy]# cat -b date_str.txt file2.txt > file3.txt [root@oldboy oldboy]# cat file3.txt 1 19900101 2 19900221 3 18900223 4 20000101 5 20011211 6 1 19900101 7 2 19900221 8 3 18900223 9 4 20000101 10 5 20011211 11 6 # 清空文档内容 [root@oldboy oldboy]# cat /dev/null >file3.txt
cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软盘,输入:
cat IMG_FILE > /dev/fd0
注:
- 1. OUTFILE 指输出的镜像文件名。
- 2. IMG_FILE 指镜像文件。
- 3. 若从镜像文件写回 device 时,device 容量需与相当。
- 4. 通常用制作开机磁片。