企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## cat命令 [TOC] >[info] cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 注意:当文件比较大时,文本的屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。 因此,一般用 more 等命令分屏显示。 为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。 按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。 ### 语法 cat (选项) (文件) ### 选项 >[success] -A 或 --show-all:等价于 -vET -b或 --number-nonblank:和-n相似,只不过对于空白行不编号; -e:等价于"-vE"选项; -E或 --show-ends: 在每行结束处显示 $ **-n 或 --number**:对输出的所有行编号,由1开始对所有输出的行数编号; -s或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行; -t:等价于"-vT"选项; -u:(被忽略) -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 ## 实例 *设1.txt和2.txt是当前目录的两个文件* ### shell使用Cat和EOF多行输入 ~~~ cat >> /root/test.txt <<EOF abcdef hello word ! FFFFFFFFFFFFFFFFFFFFFFF EOF ~~~ ### 在屏幕上显示文件1.txt的内容 命令: `cat 1.txt` 输出: ~~~ [root@localhost test]# cat 1.txt 1111 ~~~ ### 同时显示文件1.txt和2.txt的内容 命令: `cat 1.txt 2.txt` 输出: ~~~ [root@localhost test]# cat 1.txt 2.txt 1111 # 文件1.txt中内容 2222 # 文件2.txt中内容 ~~~ ### 将文件1.txt和2.txt合并后放入到文件file(file文件可以不存在)中 命令: `cat 1.txt 2.txt > file` 输出: ~~~ [root@localhost test]# cat 1.txt 2.txt >file [root@localhost test]# cat file 1111 2222 ~~~ ### 把1.txt的文件内容加上行号和2.txt合并显示 命令: `cat-n 1.txt 2.txt` 输出: ~~~ [root@localhost test]# cat -n 1.txt 2.txt 1 1111 2 2222 ~~~ ### 把 1.txt 和 2.txt 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里 命令: `cat -b 1.txt 2.txt log.log` 输出: ~~~ [root@localhost test]# cat -b 1.txt 2.txt >log.log [root@localhost test]# cat log.log 1 1111 2 2222 ~~~ ### 把 2.txt 的文件内容加上行号后追加 log.log 这个文件里 ~~~ [root@localhost test]# cat log.log 1 1111 [root@localhost test]# cat 1.txt 1111 [root@localhost test]# cat 1.txt >> log.log [root@localhost test]# cat log.log 1 1111 1111 ~~~ >[danger] 警告:我们要知道>意思是创建或写入,>>是追加。千万不要弄混了。造成失误可不是闹着玩的 ### 使用here doc来生成文件 ~~~ [root@localhost test]# cat >log.txt <<EOF Hello> World Linux PWD=$(pwd) EOF [root@localhost test]# ls 1.txt 2.txt file log.log log.txt [root@localhost test]# cat log.txt Hello> World Linux PWD=/test ~~~ ## 命令拓展 ### tac (反向列示) 命令: `tac log.txt` 输出: ~~~ [root@localhost test]# tac log.txt PWD=/test Linux Hello> World ~~~ >[info] 说明:tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在屏幕上显示出来!