linux每日命令(11): cat命令
阿新 • • 發佈:2018-12-28
閱讀目錄(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 則是由最後一行到第一行反向在螢幕上顯示出來!