linux之cat命令

小 樓 一 夜 聽 春 雨發表於2016-03-21

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 則是由最後一行到第一行反向在螢幕上顯示出來!

相關文章