本篇主題:詳細(xì)學(xué)習(xí)介紹cat和cut命令
創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)站空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,成都機(jī)柜租用,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺(tái)以及歐美等多個(gè)國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。
cat 是一個(gè) 文本文件****查看 和 連接 工具
語法結(jié)構(gòu):
$ cat [選項(xiàng)] [文件]
參數(shù)選項(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 顯示此幫助信息并離開
Cat主要有以下2大功能:
1、一次顯示(查看)整個(gè)文件,cat后面直接接文件名。
$ cat filename
比如以下,查看profile文件, -n參數(shù)是顯示 行
[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開始;
[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);
cat 加參數(shù)-n 和nl工具差不多,文件內(nèi)容輸出的同時(shí),都會(huì)在每行前面加上行號(hào);
[root@localhost ~]# cat -n /etc/profile
[root@localhost ~]# nl /etc/profile
cat 可以同時(shí)顯示多個(gè)文件的內(nèi)容,比如我們可以在一個(gè)cat命令上同時(shí)顯示兩個(gè)文件的內(nèi)容;
[root@localhost ~]# cat /etc/fstab /etc/profile
cat 對(duì)于內(nèi)容極大的文件來說,可以通過管道 | 傳送到more 工具,然后一頁一頁的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
2、cat 的創(chuàng)建、連接文件功能實(shí)例;
cat 有創(chuàng)建文件的功能,創(chuàng)建文件后,要以EOF或STOP結(jié)束;
[root@localhost ~]# cat linuxcat.txt EOF 注:創(chuàng)建linuxcat.txt文件;
如下圖所示:
cat 還有向已存在的文件追加內(nèi)容的功能;
[root@localhost ~]# cat linuxsir.txt EOF 注:我們向linuxcat.txt文件追加內(nèi)容;
(注:這里發(fā)現(xiàn)被我寫錯(cuò)了, EOF 寫成了 OEF ,輸出的時(shí)候要對(duì)應(yīng)輸出,咱不去究其原因)
cat 連接多個(gè)文件的內(nèi)容并且輸出到一個(gè)新文件中;
命令是:
[root@localhost ~]# cat name1 name2 name3 name4
注意: 其原理是把三個(gè)文件的內(nèi)容連接起來,然后創(chuàng)建name4文件,并且把幾個(gè)文件的內(nèi)容同時(shí)寫入name4中。 特別值得一提的是,如果您輸入到一個(gè)已經(jīng)存在的name4文件,會(huì)把name4內(nèi)容清空。(****見文末例子****)
實(shí)例: 假設(shè)我們有sir01.txt、sir02.tx和sir03.txt ,并且內(nèi)容如下;[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 testing
我想通過cat 把sir01.txt、sir02.txt及sir03.txt 三個(gè)文件連接在一起(也就是說把這三個(gè)文件的內(nèi)容都接在一起)并輸出到一個(gè)新的文件sir04.txt 中。
[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 testing
cat 把一個(gè)或多個(gè)已存在的文件內(nèi)容,追加到一個(gè)已存在的文件中
[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 testing
警告:我們要知道********意思是創(chuàng)建,********是追加。千萬不要弄混了。造成失誤可不是鬧著玩的;
cut是一個(gè)選取命令,就是將一段數(shù)據(jù)經(jīng)過分析,取出我們想要的。一般來說,選取信息通常是針對(duì)“行”來進(jìn)行分析的,并不是整篇信息分析的。
語法結(jié)構(gòu):
cut [-bn] [file] 或
cut [-c] [file] 或
cut [-df] [file]
選項(xiàng)參數(shù):
-b :以 字節(jié) 為單位進(jìn)行分割。這些字節(jié)位置將忽略多字節(jié)字符邊界,除非也指定了 -n 標(biāo)志。
-c :以 字符 為單位進(jìn)行分割。
-d : 自定義分隔符 ,默認(rèn)為制表符。
-f :與-d一起使用,指定顯示哪個(gè)區(qū)域。
-n :取消分割多字節(jié)字符。僅和 -b 標(biāo)志一起使用。如果字符的最后一個(gè)字節(jié)落在由 -b 標(biāo)志的 List 參數(shù)指示的br /范圍之內(nèi),該字符將被寫出;否則,該字符將被排除。
使用說明:
cut 命令從文件的每一行剪切字節(jié)、字符和字段并將這些字節(jié)、字符和字段寫至標(biāo)準(zhǔn)輸出。
如果不指定 File 參數(shù),cut 命令將讀取標(biāo)準(zhǔn)輸入。必須指定 -b、-c 或 -f 標(biāo)志之一。
上一篇中也說到cut的使用。
值得注意的是 '-' 表示的是一個(gè)區(qū)間, ‘,’ 表示的是單個(gè)字符
例子二: 以 ‘:’ 為分隔符,截取PATH環(huán)境變量第五個(gè)位置的字符
先來看看PATH變量存的內(nèi)容是什么
[2013012974@teach shell]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/2013012974/bin
截取的結(jié)果:
從上面的例子中可以看出,以':'為分隔符,第五個(gè)位置是/usr/local/sbin
好了現(xiàn)在清晰了,****Cat**** 和****Cut****你學(xué)到了沒有?學(xué)到了分享一下啊!
如上,ls -某字母(區(qū)分大小寫) 執(zhí)行某操作,可疊加,但所有都屬于ls命令。
具體ls -某字母的作用,可通過ls --help來查看。
1.命令格式:
cat [參數(shù)] [文件]
2.用途:
mv index.html abc (把index.html移動(dòng)至abc目錄)
mv 1.txt 2.txt abc(把1.txt和2.txt移動(dòng)至abc目錄)
mv index html 123.html(把index.html重命名為123.html)
touch index.html
延伸:
echo "hello" 1.txt 創(chuàng)建1.txt,文件內(nèi)容為hello
echo "world" 1.txt 在1.txt里面追加內(nèi)容world
echo "and" 1.txt 同上
echo "Hi" ! 1.txt 用內(nèi)容Hi覆蓋以上所有已存在的內(nèi)容
這里要推薦一個(gè)可查詢git命令的網(wǎng)站:
explainshell.com
工作中應(yīng)用篩選日志信息輸出到某個(gè)文件,針對(duì)性查看日志文件
語法:
cat 原單詞concatenate(用途是連接文件或標(biāo)準(zhǔn)輸入并打印。)
cat 命令用于將所有文件內(nèi)容打印到屏幕上。
語法:
使用xshell連接linux
進(jìn)入 /root 目錄
新建 catTest目錄
進(jìn)入 catTest 目錄
新建 a.txt 文件
ls -l /root a.txt
cat a.txt
ls /root a.txt
cat a.txt
ls -l /root a.txt
cat a.txt
cat命令的用途是連接文件或標(biāo)準(zhǔn)輸入并打印。這個(gè)命令常用來顯示文件內(nèi)容,或者將幾個(gè)文件連接起來顯示,或者從標(biāo)準(zhǔn)輸入讀取內(nèi)容并顯示,它常與重定向符號(hào)配合使用。
cat主要有三大功能:
1.一次顯示整個(gè)文件:cat filename
2.從鍵盤創(chuàng)建一個(gè)文件:cat filename 只能創(chuàng)建新文件,不能編輯已有文件.
3.將幾個(gè)文件合并為一個(gè)文件:cat file1 file2 file
更多實(shí)例見 ref.