## 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并修改默認端口