## 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 则是由最后一行到第一行反向在屏幕上显示出来!
- Linux的安装
- Linux的软件安装管理
- Linux零碎的命令
- 了解ssh
- 系统调优及安全设置
- Linux系统中的硬链接和软连接
- Linux文件和目录的属性及权限
- 命令总结
- 文件目录管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件检测内核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作场景应用总结
- 自动删除n天前日志
- 删除一个目录下的所有文件但保留一个文件
- Linux软件安装
- php安装(apache版本)
- vsftpd安装
- git安装
- python安装
- LNMP安装
- LAMP安装I
- LAMP安装II
- svn安装
- svn在Linux下的命令操作
- svn钩子简介
- svn代码上传流程
- Crond介绍
- sersync应用指南
- 其他
- 小结一
- 系统调优重新整理tmp
- linux禁止root用户直接登录sshd并修改默认端口