cat是Linux系统下用来查看文件连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写。除了用来作为显示文件内容外,cat指令也可用于标准流上的处理,如将显示的信息转入或附加另一文件上。
命令格式
cat [选项] [文件]...
命令功能
cat主要有三大功能:
一次显示整个文件:cat filename
从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
将几个文件合并为一个文件:cat file1 file2 > file
命令参数
-n 或 --number 对输出的所有行编号,由1开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
范例
实例一:把linuxeye.css的文件内容加上行号后输入linux.css这个文件里
cat -n linuxeye.css > linux.css
实例二:把file1.txt和file2.txt的档案内容加上行号(空白行不加)之后将内容附加到file3.txt里。
cat -b file1.txt file2.txt > file3.txt
实例三:cat和EOF
EOF是“end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
# cat > linuxeye.txt << EOF
> Hello
> www.linuxeye.com
> Linuxeye
> EOF
# ls -l linuxeye.txt
-rw-r--r-- 1 root root 32 Jun 5 18:43 linuxeye.txt
# cat linuxeye.txt
Hello
www.linuxeye.com
Linuxeye
tac (反向行显示)
# echo -e "1111
22222
345678" > tac.txt
# tac tac.txt
345678
22222
1111
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!