cat命令的主要作用是顯示一個文件的內(nèi)容,常與重定向符號>搭配使用.
主要使用方法
cat FILE 在Terminal中顯示文件的所有內(nèi)容.
cat > FILE 直接從Terminal中輸入文件內(nèi)容并創(chuàng)建文件.只能用于創(chuàng)建,不能修改已有文件.
cat FILE1 FILE2 > FILE 將多個文件內(nèi)容合并到一個文件里.
參數(shù)介紹
-v, --show-nonprinting 除了LFD和TAB之外,使用^和M-標注.
-T, --show-tabs 將TAB顯示為^I.
-E, --show-ends 每行的末尾顯示$.
-A, --show-all 等同于-vET.
-n, --number 對所有行標行號輸出.
-b, --numbernonblank 對于不為空的行標行號顯示,會覆蓋-n.
-e 等同于-vE.
-s, --squeeze-blank 多個空行只顯示為一個空行.
-t 等同于-vT.
--help 顯示幫助信息.
--version 顯示版本信息.
技巧
1. 顯示文件內(nèi)容
最簡單的方法是直接輸入‘cat file_name’.
# cat /etc/issue
CentOS release 5.10 (Final)
Kernel \r on an \m
2. 同時顯示行號
當在讀取內(nèi)容很多的配置文件時,如果同時顯示行號將會使操作變簡單,加上-n參數(shù)可以實現(xià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參數(shù),-b也可以顯示行號。區(qū)別在于-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參數(shù). 它會在輸入結(jié)果中標識為 ^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參數(shù)在每行結(jié)尾使用 $ 表示換行符。如下所示 :
# 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參數(shù).
# 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. 分屏顯示
當文件內(nèi)容顯示超過了你的屏幕大小, 可結(jié)合cat命令與其它命令分屏顯示。使用管道符 ( | )來連接。
# cat /proc/meminfo | less
# cat /proc/meminfo | more
在less與more顯示結(jié)果的區(qū)別在于less參數(shù)可pageup及pagedown上下翻滾。而more僅能使用空格向下翻屏。
8. 同時查看2個文件中的內(nèi)容
位于/root文件夾里有兩個文件取名linux及desktop,每個文件含有以下內(nèi)容 :
Linux : ubuntu, centos, redhat, mint and slackware
Desktop : gnome kde, xfce, enlightment, and cinnamon
當你想同時查看兩文件中的內(nèi)容時,可按如下方法 :
# cat /root/linux /root/desktop
ubuntu
centos
redhat
mint
slackware
gnome
kde
xfce
enlightment
cinnamon
9. 排序顯示
類似. 你也可以結(jié)合cat命令與其它命令來進行自定義輸出. 如結(jié)合 sort ,通過管道符對內(nèi)容進行排序顯示。舉例 :
# cat /root/linux | sort
centos
mint
redhat
slackware
Ubuntu
10. 輸入重定向
你也可將顯示結(jié)果輸出重定向到屏幕或另一個文件。 只需要使用 > 符號(大于號)即可輸出生成到另一個文件。
# cat /root/linux > /root/linuxdistro
以上命令會生成一個與/root/linux內(nèi)容一模一樣的叫l(wèi)inuxdistro的文件.
11. 新建文件
Linux下有多種方法新建文件。其中使用cat就是方法之一.
# cat > operating_system
Unix
Linux
Windows
MacOS
當你輸入cat > operatingsystem,它會生成一個operatingsystem的文件。然后下面會顯示空行。此時你可輸入內(nèi)容。比如我們輸入Unix, Linux, Windows 和 MacOS, 輸入完成后,按Ctrl-D存盤退出cat。此時你會發(fā)現(xiàn)當前文件夾下會生成一個包含你剛才輸入內(nèi)容的叫 operating_system的文件。
12.向文件中追加內(nèi)容
當你使用兩個 > 符時, 會將第一個文件中的內(nèi)容追加到第二個文件的末尾。 舉例 :
# cat /root/linux >> /root/desktop
# cat /root/desktop
它會將 /root/linux的內(nèi)容追加到/root/desktop文件的末尾。
第二個文件的內(nèi)容將會變成這樣:
gnome
kde
xfce
enlightment
cinnamon
ubuntu
centos
redhat
mint
slackware
13. 重定向輸入
你可使用 命令(小于號)將文件輸入到cat中.
# cat /root/linux
上面命令表示 /root/linux中的內(nèi)容作為cat的輸入。屏幕上顯示如下 :
ubuntu
centos
redhat
mint
slackware
為了更清楚表示它的意義,我們使用以下命令 :
# cat /root/linux | sort > linux-sort
此命令這樣理解: 從/root/linux中讀取內(nèi)容,然后排序,將結(jié)果輸出并生成linux-sort新文件
然后我們看看linux-sort中的內(nèi)容 :
centos
mint
redhat
slackware
ubuntu
以上是一些cat命令的日?;緫?yīng)用. 更多相關(guān)你可從cat命令手冊中學(xué)到并記得經(jīng)常練習(xí)它們.