linux中命令cat、more、less均可用來查看文件內容,主要區(qū)別有:
創(chuàng)新互聯專注于企業(yè)網絡營銷推廣、網站重做改版、博野網站定制設計、自適應品牌網站建設、html5、商城網站開發(fā)、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為博野等各大城市提供網站開發(fā)制作服務。
1、cat是一次性顯示整個文件的內容,還可以將多個文件連接起來顯示,它常與重定向符號配合使用,適用于文件內容少的情況。
cat主要有三大功能:
2、more命令,功能類似 cat ,cat命令是整個文件的內容從上到下顯示在屏幕上。 more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向后讀取文件,因此在啟動時就加載整個文件。
常用操作命令:
3、less 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看文件,更容易用來查看一個文件的內容!除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜,而且 less 在查看之前不會加載整個文件。
常用操作命令:
linux查看文件內容最常用的5 個命令:
命令一:cat
cat命令應該是在Linux中查看文件內容最常見的命令了。
使用cat命令會打印指定文件的所有內容到標準輸出上,比如你的屏幕。
cat命令最簡單的用法,是直接在cat命令后面跟上文件即可。
命令二:nl
nl命令跟cat命令很相識,它的不同之處在于每一行的前面多了行號的顯示。
命令三:less
less命令一次只會顯示一個頁面的文件內容。
可以通過?j、k?兩個按鍵進行上、下瀏覽文件內容,使用?q?可以隨時退出。
命令四:tail
tail?命令用于查看文件內容的最后一部分,默認顯示的行數是10行。
當然,如果你想讓?tail?命令顯示更多的文件內容,可以使用?-n number?這個參數,number?代表行數。
命令五:head
head?命令跟tail很相識,只不過它們查看的文件內容的方向是相反的。
head?命令用于查看文件內容的前面部分,默認顯示的行數也是10行。
當然,如果想顯示更多的行數的話,也是可以使用?-n number?這個參數,number?代表行數。
本篇主題:詳細學習介紹cat和cut命令
cat 是一個 文本文件****查看 和 連接 工具
語法結構:
$ cat [選項] [文件]
參數選項:
-A, --show-all 等價于 -vET
-b, --number-nonblank 對非空輸出行編號
-e 等價于 -vE
-E, --show-ends 在每行結束處顯示 $
-n, --number 對輸出的所有行編號
-s, --squeeze-blank 不輸出多行空行
-t 與 -vT 等價
-T, --show-tabs 將跳 字符顯示為 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 顯示此幫助信息并離開
Cat主要有以下2大功能:
1、一次顯示(查看)整個文件,cat后面直接接文件名。
$ cat filename
比如以下,查看profile文件, -n參數是顯示 行
[root@localhost ~]# cat /etc/profile 注:查看/etc/目錄下的profile文件內容;
[root@localhost ~]# cat -b /etc/fstab 注:查看/etc/目錄下的profile內容,并且對非空白行進行編號,行號從1開始;
[root@localhost ~]# cat -n /etc/profile 注:對/etc目錄中的profile的所有的行(包括空白行)進行編號輸出顯示;
[root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile內容,并且在每行的結尾處附加 $ 符號;
cat 加參數-n 和nl工具差不多,文件內容輸出的同時,都會在每行前面加上行號;
[root@localhost ~]# cat -n /etc/profile
[root@localhost ~]# nl /etc/profile
cat 可以同時顯示多個文件的內容,比如我們可以在一個cat命令上同時顯示兩個文件的內容;
[root@localhost ~]# cat /etc/fstab /etc/profile
cat 對于內容極大的文件來說,可以通過管道 | 傳送到more 工具,然后一頁一頁的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
2、cat 的創(chuàng)建、連接文件功能實例;
cat 有創(chuàng)建文件的功能,創(chuàng)建文件后,要以EOF或STOP結束;
[root@localhost ~]# cat linuxcat.txt EOF 注:創(chuàng)建linuxcat.txt文件;
如下圖所示:
cat 還有向已存在的文件追加內容的功能;
[root@localhost ~]# cat linuxsir.txt EOF 注:我們向linuxcat.txt文件追加內容;
(注:這里發(fā)現被我寫錯了, EOF 寫成了 OEF ,輸出的時候要對應輸出,咱不去究其原因)
cat 連接多個文件的內容并且輸出到一個新文件中;
命令是:
[root@localhost ~]# cat name1 name2 name3 name4
注意: 其原理是把三個文件的內容連接起來,然后創(chuàng)建name4文件,并且把幾個文件的內容同時寫入name4中。 特別值得一提的是,如果您輸入到一個已經存在的name4文件,會把name4內容清空。(****見文末例子****)
實例: 假設我們有sir01.txt、sir02.tx和sir03.txt ,并且內容如下;[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 三個文件連接在一起(也就是說把這三個文件的內容都接在一起)并輸出到一個新的文件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 把一個或多個已存在的文件內容,追加到一個已存在的文件中
[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是一個選取命令,就是將一段數據經過分析,取出我們想要的。一般來說,選取信息通常是針對“行”來進行分析的,并不是整篇信息分析的。
語法結構:
cut [-bn] [file] 或
cut [-c] [file] 或
cut [-df] [file]
選項參數:
-b :以 字節(jié) 為單位進行分割。這些字節(jié)位置將忽略多字節(jié)字符邊界,除非也指定了 -n 標志。
-c :以 字符 為單位進行分割。
-d : 自定義分隔符 ,默認為制表符。
-f :與-d一起使用,指定顯示哪個區(qū)域。
-n :取消分割多字節(jié)字符。僅和 -b 標志一起使用。如果字符的最后一個字節(jié)落在由 -b 標志的 List 參數指示的br /范圍之內,該字符將被寫出;否則,該字符將被排除。
使用說明:
cut 命令從文件的每一行剪切字節(jié)、字符和字段并將這些字節(jié)、字符和字段寫至標準輸出。
如果不指定 File 參數,cut 命令將讀取標準輸入。必須指定 -b、-c 或 -f 標志之一。
上一篇中也說到cut的使用。
值得注意的是 '-' 表示的是一個區(qū)間, ‘,’ 表示的是單個字符
例子二: 以 ‘:’ 為分隔符,截取PATH環(huán)境變量第五個位置的字符
先來看看PATH變量存的內容是什么
[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
截取的結果:
從上面的例子中可以看出,以':'為分隔符,第五個位置是/usr/local/sbin
好了現在清晰了,****Cat**** 和****Cut****你學到了沒有?學到了分享一下啊!