每天一個 Linux 命令(10):cat 命令

peida發表於2017-02-03

cat命令的用途是連線檔案或標準輸入並列印。這個命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。

1.命令格式:

cat [選項] [檔案]…

2.命令功能:

cat主要有三大功能:

1.一次顯示整個檔案:cat filename

2.從鍵盤建立一個檔案:cat > filename 只能建立新檔案,不能編輯已有檔案.

3.將幾個檔案合併為一個檔案:cat file1 file2 > file

3.命令引數:

-A, --show-all           等價於 -vET
-b, --number-nonblank    對非空輸出行編號

-e                       等價於 -vE
-E, --show-ends          在每行結束處顯示 $

-n, --number     對輸出的所有行編號,由1開始對所有輸出的行數編號
-s, --squeeze-blank  有連續兩行以上的空白行,就代換為一行的空白行

-t                       與 -vT 等價
-T, --show-tabs          將跳格字元顯示為 ^I

-u                       (被忽略)
-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

4.使用例項:

例項一:把 log2012.log 的檔案內容加上行號後輸入 log2013.log 這個檔案裡

命令:

cat -n log2012.log log2013.log

輸出:

[root@localhost test]# cat log2012.log 
2012-01
2012-02
======[root@localhost test]# cat log2013.log 
2013-01
2013-02
2013-03
======[root@localhost test]# cat -n log2012.log log2013.log 
     	1  2012-01
     	2  2012-02
     	3
     	4
     	5  ======
     	6  2013-01
     	7  2013-02
     	8
     	9
    	10  2013-03
    	11  ======[root@localhost test]#

說明:

例項二:把 log2012.log 和 log2013.log 的檔案內容加上行號(空白行不加)之後將內容附加到 log.log 裡。

命令:

cat -b log2012.log log2013.log log.log

輸出:

[root@localhost test]# cat -b log2012.log log2013.log log.log
     1  2012-01
     2  2012-02
     3  ======
     4  2013-01
     5  2013-02
     6  2013-03
     7  ======[root@localhost test]#

例項三:把 log2012.log 的檔案內容加上行號後輸入 log.log 這個檔案裡

命令:

輸出:

[root@localhost test]# cat log.log 
[root@localhost test]# cat -n log2012.log > log.log
[root@localhost test]# cat -n log.log 
     1  2012-01
     2  2012-02
     3
     4
     5  ======
[root@localhost test]#

例項四:使用here doc來生成檔案

輸出:

[root@localhost test]# cat >log.txt <<EOF
> Hello
> World
> Linux
> PWD=$(pwd)
> EOF
[root@localhost test]# ls -l log.txt 
-rw-r--r-- 1 root root 37 10-28 17:07 log.txt
[root@localhost test]# cat log.txt 
Hello
World
Linux
PWD=/opt/soft/test
[root@localhost test]#

說明:

注意粗體部分,here doc可以進行字串替換。

備註:

tac (反向列示)

命令:

tac log.txt

輸出:

[root@localhost test]# tac log.txt 
PWD=/opt/soft/test
Linux
World
Hello

說明:

tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!

相關文章