cat命令的用途是連接文件或標準輸入並列印。這個命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。 一.命令格式: cat [參數] [文件]... 二.命令功能: cat主要有三大功能: 1.一次顯示整個文件:cat filename 2. ...
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 則是由最後一行到第一行反向在屏幕上顯示出來!