Linux中國

13個Cat命令管理(顯示,排序,建立)文件實例

Linux系統中,大多數配置文件、日誌文件,甚至shell腳本都使用文本文件格式,因此,Linux系統存在著多種文本編輯器,但當你僅僅想要查看一下這些文件的內容時,可使用一個簡單的命令-cat

cat手冊里這樣描述:

cat命令讀取文件內容,並輸出到標準設備上面

cat是一條linux內置命令. 幾乎所有linux發行版都內置(譯註:或者說我從未聽說過不內置cat命令的發行版)。接下來,讓我們開始學習如何使用.

1. 顯示文件內容

最簡單的方法是直接輸入『cat file_name』.

# cat /etc/issue

CentOS release 5.10 (Final)
Kernel r on an m

2. 同時顯示行號

當在讀取內容很多的配置文件時,如果同時顯示行號將會使操作變簡單,加上-n參數可以實現.

# cat -n /etc/ntp.conf

1 # Permit time synchronization our time resource but do not
2 # permit the source to query or modify the service on this system
3 restrict default kod nomodify notrap nopeer noquery
4 restrict -6 default kod nomodify notrap nopeer noquery
5
6 # Permit all access over the loopback interface. This could be
7 # tightened as well, but to do so would effect some of the
8 # administration functions
9 restrict 127.0.0.1
10 restrict -6 ::1

3. 在非空格行首顯示行號

類似於-n參數,-b也可以顯示行號。區別在於-b只在非空行前顯示行號。

#cat -b /etc/ntp.conf

1 # Permit time synchronization our time resource but do not
2 # permit the source to query or modify the service on this system
3 restrict default kod nomodify notrap nopeer noquery
4 restrict -6 default kod nomodify notrap nopeer noquery

5 # Permit all access over the loopback interface. This could be
6 # tightened as well, but to do so would effect some of the
7 # administration functions
8 restrict 127.0.0.1
9 restrict -6 ::1

4. 顯示tab製表符

當你想要顯示文本中的tab製表位時. 可使用-T參數. 它會在輸入結果中標識為 ^I .

# cat -T /etc/hosts

# Do not remove the following line, or various programs 
# that require network functionality will fail.
127.0.0.1^I^Ilocalhost.localdomain localhost
::1^I^Ilocalhost6.localdomain6 localhost6

5. 顯示換行符

-E參數在每行結尾使用 $ 表示換行符。如下所示 :

# cat -E /etc/hosts

# Do not remove the following line, or various programs$
# that require network functionality will fail.$
127.0.0.1 localhost.localdomain localhost$
::1 localhost6.localdomain6 localhost6$

6. 同時顯示製表符及換行符

當你想要同時達到-T及-E的效果, 可使用-A參數.

# cat -A /etc/hosts

# Do not remove the following line, or various programs$
# that require network functionality will fail.$
127.0.0.1^I^Ilocalhost.localdomain localhost$
::1^I^Ilocalhost6.localdomain6 localhost6$

7. 分屏顯示

當文件內容顯示超過了你的屏幕大小, 可結合cat命令與其它命令分屏顯示。使用管道符 ( | )來連接。

# cat /proc/meminfo | less

# cat /proc/meminfo | more

在less與more顯示結果的區別在於less參數可pageup及pagedown上下翻滾。而more僅能使用空格向下翻屏。

8. 同時查看2個文件中的內容

位於/root文件夾里有兩個文件取名linux及desktop,每個文件含有以下內容 :

Linux : ubuntu, centos, redhat, mint and slackware

Desktop : gnome kde, xfce, enlightment, and cinnamon

當你想同時查看兩文件中的內容時,可按如下方法 :

# cat /root/linux /root/desktop

ubuntu
centos
redhat
mint
slackware
gnome
kde
xfce
enlightment
cinnamon

9. 排序顯示

類似. 你也可以結合cat命令與其它命令來進行自定義輸出. 如結合 sort ,通過管道符對內容進行排序顯示。舉例 :

# cat /root/linux | sort

centos
mint
redhat
slackware
Ubuntu

10. 輸入重定向

你也可將顯示結果輸出重定向到屏幕或另一個文件。 只需要使用 > 符號(大於號)即可輸出生成到另一個文件。

# cat /root/linux > /root/linuxdistro

以上命令會生成一個與/root/linux內容一模一樣的叫linuxdistro的文件.

11. 新建文件

Linux下有多種方法新建文件。其中使用cat就是方法之一.

# cat > operating_system

Unix
Linux
Windows
MacOS

當你輸入cat > operatingsystem,它會生成一個operatingsystem的文件。然後下面會顯示空行。此時你可輸入內容。比如我們輸入Unix, Linux, Windows 和 MacOS, 輸入完成後,按Ctrl-D存檔退出cat。此時你會發現當前文件夾下會生成一個包含你剛才輸入內容的叫 operating_system的文件。

12.向文件中追加內容

當你使用兩個 > 符時, 會將第一個文件中的內容追加到第二個文件的末尾。 舉例 :

# cat /root/linux >> /root/desktop

# cat /root/desktop

它會將 /root/linux的內容追加到/root/desktop文件的末尾。

第二個文件的內容將會變成這樣:

gnome
kde
xfce
enlightment
cinnamon
ubuntu
centos
redhat
mint
slackware

13. 重定向輸入

你可使用 <命令(小於號)將文件輸入到cat中.

# cat < /root/linux

上面命令表示 /root/linux中的內容作為cat的輸入。屏幕上顯示如下 :

ubuntu
centos
redhat
mint
slackware

為了更清楚表示它的意義,我們使用以下命令 :

# cat < /root/linux | sort > linux-sort

此命令這樣理解: 從/root/linux中讀取內容,然後排序,將結果輸出並生成linux-sort新文件

然後我們看看linux-sort中的內容 :

centos
mint
redhat
slackware
ubuntu

以上是一些cat命令的日常基本應用. 更多相關你可從cat命令手冊中學到並記得經常練習它們.

via: http://linoxide.com/linux-command/13-cat-command-examples/

譯者:hongchuntang 校對:Caroline

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國