1. 程式人生 > >linux每日命令(11): cat命令

linux每日命令(11): cat命令

閱讀目錄(Content)

  • 一.命令格式:
  • 二.命令功能:
  • 三. 命令引數
  • 四. 使用例項
    • 1. 將file1的文件內容覆蓋到file2中
    • 2. 將file1的內容追加到file2的內容中
    • 3. 清空file1文件內容
    • 4. 倒序輸出file2中的內容

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

 

一.命令格式:

cat [引數] [檔案]...

 

二.命令功能:

cat主要有三大功能:

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

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

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

 

三. 命令引數

 

引數 描述
-n --number , 由1開始對所有輸出的行數編號
-b --number-nonblank, 和 -n 相似,只不過對於空白行不編號。
-s --squeeze-blank,當遇到有連續兩行以上的空白行,就代換為一行的空白行。
-v --show-nonprinting , 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
-E --show-ends , 在每行結束處顯示 $
-T --show-tabs,將 TAB 字元顯示為 ^I。
-A --show-all , 等價於 -vET
-e 等價於 -vE
-t 與 -vT 等價

四. 使用例項

1. 將file1的文件內容覆蓋到file2中

 命令:

不帶行號覆蓋內容

cat file1 > file2

 

帶行號覆蓋內容

cat -n file1 > file2

 

輸出:

[email protected]virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
[email protected]-virtual-machine:~/test$ cat file2
[email protected]-virtual-machine:~/test$ cat file1 > file2
[email protected]-virtual-machine:~/test$ cat file2
我是file1的第一行
我是file1的第二行
[email protected]-virtual-machine:~/test$ cat -n file1 > file2
[email protected]-virtual-machine:~/test$ cat file2
     1  我是file1的第一行
     2  我是file1的第二行

 

2. 將file1的內容追加到file2的內容中

 命令:

不帶行號追加

cat file1 >> file2

 

帶行號追加(空白行不加行號)

輸出:

[email protected]virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
[email protected]-virtual-machine:~/test$ cat file2
我是file2的第一行




我是file2的第6行
[email protected]-virtual-machine:~/test$ cat file1 >> file2
[email protected]-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
[email protected]-virtual-machine:~/test$ cat file2
我是file2的第一行




我是file2的第6行
我是file1的第一行
我是file1的第二行
[email protected]-virtual-machine:~/test$ cat -b file2 >> file1
[email protected]-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
     1  我是file2的第一行




     2  我是file2的第6行
     3  我是file1的第一行
     4  我是file1的第二行
[email protected]-virtual-machine:~/test$ 

說明:

>是重新編輯內容,>> 是追加內容

 

3. 清空file1文件內容

 命令:

cat /dev/null > file1

 

輸出:

[email protected]virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
     1  我是file2的第一行




     2  我是file2的第6行
     3  我是file1的第一行
     4  我是file1的第二行
[email protected]-virtual-machine:~/test$ cat /dev/null > file1
[email protected]-virtual-machine:~/test$ cat file1
[email protected]-virtual-machine:~/test$ 

 

4. 倒序輸出file2中的內容

 命令:

tac file2

 

輸出:

[email protected]virtual-machine:~/test$ cat file2
我是file2的第一行




我是file2的第6行
我是file1的第一行
我是file1的第二行
[email protected]-virtual-machine:~/test$ tac file2
我是file1的第二行
我是file1的第一行
我是file2的第6行




我是file2的第一行
[email protected]-virtual-machine:~/test$ 

說明:

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