學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux命令大全cat學(xué)習(xí)

linux命令大全cat學(xué)習(xí)

時(shí)間: 志藝942 分享

linux命令大全cat學(xué)習(xí)

  cat是concatenate的簡(jiǎn)寫(xiě),類(lèi)似于dos下面的type命令。那么你知道linux命令大全cat么?接下來(lái)是小編為大家收集的linux命令大全cat學(xué)習(xí),歡迎大家閱讀:

  linux命令大全cat學(xué)習(xí)

  1.命令格式:

  cat [選項(xiàng)] [文件]...

  2.命令功能:

  cat主要有三大功能:

  1.一次顯示整個(gè)文件:cat filename

  2.從鍵盤(pán)創(chuàng)建一個(gè)文件:cat > filename 只能創(chuàng)建新文件,不能編輯已有文件.

  3.將幾個(gè)文件合并為一個(gè)文件:cat file1 file2 > file

  3.命令參數(shù):

  -A, --show-all 等價(jià)于 -vET

  -b, --number-nonblank 對(duì)非空輸出行編號(hào)

  -e 等價(jià)于 -vE

  -E, --show-ends 在每行結(jié)束處顯示 $

  -n, --number 對(duì)輸出的所有行編號(hào),由1開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)

  -s, --squeeze-blank 有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -t 與 -vT 等價(jià)

  -T, --show-tabs 將跳格字符顯示為 ^I

  -u (被忽略)

  -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

  4.使用實(shí)例:

  實(shí)例一:把 log2012.log 的文件內(nèi)容加上行號(hào)后輸入 log2013.log 這個(gè)文件里

  命令:

  cat -n log2012.log log2013.log

  輸出:

  復(fù)制代碼

  代碼如下:

  [root@localhost test]# cat log2012.log

  2012-01

  2012-02

  ======[root@localhost test]# cat log2013.log

  2013-01

  2013-02

  2013-03

  ======[root@localhost test]# cat -n log2012.log log2013.log

  1 2012-01

  2 2012-02

  3

  4

  5 ======

  6 2013-01

  7 2013-02

  8

  9

  10 2013-03

  11 ======[root@localhost test]#

  說(shuō)明:

  實(shí)例二:把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 log.log 里。

  命令:

  cat -b log2012.log log2013.log log.log

  輸出:

  復(fù)制代碼

  代碼如下:

  [root@localhost test]# cat -b log2012.log log2013.log log.log

  1 2012-01

  2 2012-02

  < p> 3 ======

  4 2013-01

  5 2013-02

  < p> 6 2013-03

  7 ======[root@localhost test]#

  實(shí)例三:把 log2012.log 的文件內(nèi)容加上行號(hào)后輸入 log.log 這個(gè)文件里

  命令:

  輸出:

  復(fù)制代碼

  代碼如下:

  [root@localhost test]# cat log.log

  [root@localhost test]# cat -n log2012.log > log.log

  [root@localhost test]# cat -n log.log

  1 2012-01

  2 2012-02

  3

  4

  5 ======

  [root@localhost test]#

  實(shí)例四:使用here doc來(lái)生成文件

  輸出:

  復(fù)制代碼

  代碼如下:

  [root@localhost test]# cat >log.txt <

  > Hello

  > World

  > Linux

  > PWD=$(pwd)

  > EOF

  [root@localhost test]# ls -l log.txt

  -rw-r--r-- 1 root root 37 10-28 17:07 log.txt

  [root@localhost test]# cat log.txt

  Hello

  World

  Linux

  PWD=/opt/soft/test

  [root@localhost test]#

  說(shuō)明:

  注意粗體部分,here doc可以進(jìn)行字符串替換。

  備注:

  tac (反向列示)

  命令:

  tac log.txt

  輸出:

  復(fù)制代碼

  代碼如下:

  [root@localhost test]# tac log.txt

  PWD=/opt/soft/test

  Linux

  World

  Hello

  說(shuō)明:

  tac 是將 cat 反寫(xiě)過(guò)來(lái),所以他的功能就跟 cat 相反, cat 是由第一行到最后一行連續(xù)顯示在螢?zāi)簧?,?tac 則是由最后一行到第一行反向在螢?zāi)簧巷@示出來(lái)!

  注:在awk命令之后,沒(méi)有太多復(fù)雜命令,都是一些基礎(chǔ)命令。

  說(shuō)明:

  cat,是單詞 concatenate 的縮寫(xiě), 把文件的內(nèi)容輸出到stdout.當(dāng)與重定向操作符 (> 或

  >>結(jié)合使用時(shí), 一般都是用來(lái)將多個(gè)文件連接起來(lái).

  用法:

  1. $cat file1 file2 file3

  2. 不僅可以從文件中讀取內(nèi)容并且拼接,還能從標(biāo)準(zhǔn)輸入流中讀取

  例如:$echo 'some content' | cat - file.txt

  解釋?zhuān)哼@里的 - 就代表了 'some content' 的臨時(shí)文件,也就是輸入流

  實(shí)例:

  1. $cat cat.txt

  打印了cat.txt的所有內(nèi)容

  2.$cat cat.txt | less

  查看cat.txt, 加入less以后一頁(yè)一屏幕,具體再以后less,more命令中介紹

  3.$cat -n cat.txt

  每行前標(biāo)注行號(hào),包括空白行

  4.$cat -b cat.txt

  非空白行前標(biāo)注行號(hào)

  解讀--help

  用法:cat [選項(xiàng)]... [文件]...

  將[文件]或標(biāo)準(zhǔn)輸入組合輸出到標(biāo)準(zhǔn)輸出。

  -A, --show-all 等于-vET

  -b, --number-nonblank 對(duì)非空輸出行編號(hào)

  -e 等于-vE

  -E, --show-ends 在每行結(jié)束處顯示"$"

  -n, --number 對(duì)輸出的所有行編號(hào)

  -s, --squeeze-blank 不輸出多行空行

  -t 與-vT 等價(jià)

  -T, --show-tabs 將跳格字符顯示為^I

  -u (被忽略)

  -v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外

  --help 顯示此幫助信息并退出

  --version 顯示版本信息并退出

  如果沒(méi)有指定文件,或者文件為"-",則從標(biāo)準(zhǔn)輸入讀取。

  示例:

  cat f - g 先輸出f 的內(nèi)容,然后輸出標(biāo)準(zhǔn)輸入的內(nèi)容,最后輸出g 的內(nèi)容。

  cat 將標(biāo)準(zhǔn)輸入的內(nèi)容復(fù)制到標(biāo)準(zhǔn)輸出。

  解讀:

  1. cat –s file.txt

  如果有一個(gè)文件有這樣的格式:

  line1

  #空行

  line2 file2

  用到這個(gè)命令

  cat更多與其他命令結(jié)合,自身沒(méi)有太復(fù)雜的內(nèi)容,要是無(wú)聊,試試cat –A cat.txt,會(huì)有難忘的回憶。

  相關(guān)命令:

  cat的親家一般是sed,tr這種命令

  如:

  $cat file|sed 's/old/new/g'

  顯示file文件,并且將old 轉(zhuǎn)換成new,不修改原文件

  簡(jiǎn)略版:

  cat主要有三大功能:

  1.一次顯示整個(gè)文件。$ cat filename

  2.從鍵盤(pán)創(chuàng)建一個(gè)文件。$ cat > filename

  只能創(chuàng)建新文件,不能編輯已有文件.

  3.將幾個(gè)文件合并為一個(gè)文件: $cat file1 file2 > file

  參數(shù):

  -n 或 --number 由 1 開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)

  -b 或 --number-nonblank 和 -n 相似,只不過(guò)對(duì)于空白行不編號(hào)

  -s 或 --squeeze-blank 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  例:

  把 textfile1 的檔案內(nèi)容加上行號(hào)后輸入 textfile2 這個(gè)檔案里

  cat -n textfile1 > textfile2

  把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 textfile3 里。

  cat -b textfile1 textfile2 >> textfile3

  把test.txt文件扔進(jìn)垃圾箱,賦空值test.txt

  cat /dev/null > /etc/test.txt

  詳細(xì)點(diǎn)的:

  cat 是一個(gè)文本文件查看和連接工具。查看一個(gè)文件的內(nèi)容,用cat比較簡(jiǎn)單,就是cat 后面直接接文件名。

  比如:

  de>[root@localhost ~]# cat /etc/fstabde>

  為了便于新手弟兄靈活掌握這個(gè)工具,我們多說(shuō)一點(diǎn)常用的參數(shù);

  1.0 cat 語(yǔ)法結(jié)構(gòu);

  de>cat [選項(xiàng)] [文件]...de>

  選項(xiàng)-A, --show-all 等價(jià)于 -vET-b, --number-nonblank 對(duì)非空輸出行編號(hào)-e 等價(jià)于 -vE-E, --show-ends 在每行結(jié)束處顯示 $-n, --number 對(duì)輸出的所有行編號(hào)-s, --squeeze-blank 不輸出多行空行-t 與 -vT 等價(jià)-T, --show-tabs 將跳 字符顯示為 ^I-u (被忽略)-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外--help 顯示此幫助信息并離開(kāi)

  1.1 cat 查看文件內(nèi)容實(shí)例;

  de>[root@localhost ~]# cat /etc/profile 注:查看/etc/目錄下的profile文件內(nèi)容;

  [root@localhost ~]# cat -b /etc/fstab 注:查看/etc/目錄下的profile內(nèi)容,并且對(duì)非空白行進(jìn)行編號(hào),行號(hào)從1開(kāi)始;

  [root@localhost ~]# cat -n /etc/profile 注:對(duì)/etc目錄中的profile的所有的行(包括空白行)進(jìn)行編號(hào)輸出顯示;

  [root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile內(nèi)容,并且在每行的結(jié)尾處附加$符號(hào);de>

  cat 加參數(shù)-n 和nl工具差不多,文件內(nèi)容輸出的同時(shí),都會(huì)在每行前面加上行號(hào);

  de>[root@localhost ~]# cat -n /etc/profile

  [root@localhost ~]# nl /etc/profilede>

  cat 可以同時(shí)顯示多個(gè)文件的內(nèi)容,比如我們可以在一個(gè)cat命令上同時(shí)顯示兩個(gè)文件的內(nèi)容;

  de>[root@localhost ~]# cat /etc/fstab /etc/profilede>

  cat 對(duì)于內(nèi)容極大的文件來(lái)說(shuō),可以通過(guò)管道|傳送到more 工具,然后一頁(yè)一頁(yè)的查看;

  de>[root@localhost ~]# cat /etc/fstab /etc/profile | morede>

  1.2 cat 的創(chuàng)建、連接文件功能實(shí)例;

  cat 有創(chuàng)建文件的功能,創(chuàng)建文件后,要以EOF或STOP結(jié)束;

  de>[root@localhost ~]# cat > linuxsir.org.txt << EOF 注:創(chuàng)建linuxsir.org.txt文件;

  > 我來(lái)測(cè)試 cat 創(chuàng)建文件,并且為文件輸入內(nèi)容; 注:這是為linuxsir.org.txt文件輸入內(nèi)容;

  > 北南南北 測(cè)試; 注:這是為linuxsir.org.txt文件輸入內(nèi)容;

  > EOF 注:退出編輯狀態(tài);

  [root@localhost ~]# cat linuxsir.org.txt 注:我們查看一下linuxsir.org.txt文件的內(nèi)容;

  我來(lái)測(cè)試 cat 創(chuàng)建文件,并且為文件輸入內(nèi)容;

  北南南北 測(cè)試;de>

  cat 還有向已存在的文件追加內(nèi)容的功能;

  de>[root@localhost ~]# cat linuxsir.txt 注:查看已存在的文件linuxsir.txt 內(nèi)容;

  I am BeiNanNanBei From LinuxSir.Org . 注:內(nèi)容行

  我正在為cat命令寫(xiě)文檔

  [root@localhost ~]# cat >> linuxsir.txt << EOF 注:我們向linuxsir.txt文件追加內(nèi)容;

  > 我來(lái)測(cè)試cat向文檔追加內(nèi)容的功能; 注:這是追回的內(nèi)容

  > OK?

  > OK~

  > 北南 呈上

  > EOF 注:以EOF退出;

  [root@localhost ~]# cat linuxsir.txt 注:查看文件內(nèi)容,看是否追回成功。

  I am BeiNanNanBei From LinuxSir.Org .

  我正在為cat命令寫(xiě)文檔

  我來(lái)測(cè)試cat向文檔追加內(nèi)容的功能;

  OK?

  OK~

  北南 呈上de>

  cat 連接多個(gè)文件的內(nèi)容并且輸出到一個(gè)新文件中;

  假設(shè)我們有sir01.txt、sir02.tx和sir03.txt ,并且內(nèi)容如下;

  de>[root@localhost ~]# cat sir01.txt

  123456

  i am testing

  [root@localhost ~]# cat sir02.txt

  56789

  BeiNan Tested

  [root@localhost ~]# cat sir03.txt

  09876

  linuxsir.org testingde>

  我想通過(guò)cat 把sir01.txt、sir02.txt及sir03.txt 三個(gè)文件連接在一起(也就是說(shuō)把這三個(gè)文件的內(nèi)容都接在一起)并輸出到一個(gè)新的文件sir04.txt 中。

  注意:其原理是把三個(gè)文件的內(nèi)容連接起來(lái),然后創(chuàng)建sir04.txt文件,并且把幾個(gè)文件的內(nèi)容同時(shí)寫(xiě)入sir04.txt中。特別值得一提的是,如果您輸入到一個(gè)已經(jīng)存在的sir04.txt 文件,會(huì)把sir04.txt內(nèi)容清空。

  de>[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt

  [root@localhost ~]# more sir04.txt

  123456

  i am testing

  56789

  BeiNan Tested

  09876

  linuxsir.org testingde>

  cat 把一個(gè)或多個(gè)已存在的文件內(nèi)容,追加到一個(gè)已存在的文件中

  de>[root@localhost ~]# cat sir00.txt

  linuxsir.org forever

  [root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt

  [root@localhost ~]# cat sir00.txt

  linuxsir.org forever

  123456

  i am testing

  56789

  BeiNan Tested

  09876

  linuxsir.org testingde>

  警告:我們要知道>意思是創(chuàng)建,>>是追加。千萬(wàn)不要弄混了。造成失誤可不是鬧著玩的;

  
看了“linux命令大全cat學(xué)習(xí)”還想看:

1.Linux cat命令怎么使用

2.Linux下如何使用cat命令

3.cat命令應(yīng)該怎么用

4.Linux cat命令參數(shù)介紹

2919559