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

cat命令的用途是鏈接文件或標準輸入並打印。這個命令經常使用來顯示文件內容,或者將幾個文件鏈接起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。code

一.命令格式:

cat [參數] [文件]...

二.命令功能:

cat主要有三大功能:文檔

1.一次顯示整個文件:cat filenametable

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

3.將幾個文件合併爲一個文件:cat file1 file2 > filetest

三. 命令參數

參數 描述
-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中

命令:file

不帶行號覆蓋內容引用

cat file1 > file2

帶行號覆蓋內容重定向

cat -n file1 > file2

輸出:tab

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

相關文章
相關標籤/搜索