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


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

輸出:

hc@hc-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
hc@hc-virtual-machine:~/test$ cat file2
hc@hc-virtual-machine:~/test$ cat file1 > file2
hc@hc-virtual-machine:~/test$ cat file2
我是file1的第一行
我是file1的第二行
hc@hc-virtual-machine:~/test$ cat -n file1 > file2
hc@hc-virtual-machine:~/test$ cat file2
     1	我是file1的第一行
     2	我是file1的第二行

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

命令:

不帶行號追加

cat file1 >> file2

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

輸出:

hc@hc-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
hc@hc-virtual-machine:~/test$ cat file2
我是file2的第一行




我是file2的第6行
hc@hc-virtual-machine:~/test$ cat file1 >> file2
hc@hc-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
hc@hc-virtual-machine:~/test$ cat file2
我是file2的第一行




我是file2的第6行
我是file1的第一行
我是file1的第二行
hc@hc-virtual-machine:~/test$ cat -b file2 >> file1
hc@hc-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
     1	我是file2的第一行




     2	我是file2的第6行
     3	我是file1的第一行
     4	我是file1的第二行
hc@hc-virtual-machine:~/test$ 

說明:

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

3. 清空file1文檔內容

命令:

cat /dev/null > file1

輸出:

hc@hc-virtual-machine:~/test$ cat file1
我是file1的第一行
我是file1的第二行
     1	我是file2的第一行




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

4. 倒序輸出file2中的內容

命令:

tac file2

輸出:

hc@hc-virtual-machine:~/test$ cat file2
我是file2的第一行




我是file2的第6行
我是file1的第一行
我是file1的第二行
hc@hc-virtual-machine:~/test$ tac file2
我是file1的第二行
我是file1的第一行
我是file2的第6行




我是file2的第一行
hc@hc-virtual-machine:~/test$ 

說明:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM