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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章