檔案內容查閱)

來源:互聯網
上載者:User
cat (concatenate)
[root@www ~]# cat [-AbEnTv]選項與參數:-A  :相當於 -vET 的整合選項,可列出一些特殊字元而不是空白而已;-b  :列出行號,僅針對非空白行做行號顯示,空白行不標行號!-E  :將結尾的斷行位元組 $ 顯示出來;-n  :列印出行號,連同空白行也會有行號,與 -b 的選項不同;-T  :將 [tab] 按鍵以 ^I 顯示出來;-v  :列出一些看不出來的特殊字元

 

檢閱 /etc/issue 這個檔案的內容

[root@www ~]# cat /etc/issueCentOS release 5.3 (Final)Kernel \r on an \m

 

如果還要加印行號呢?

[root@www ~]# cat -n /etc/issue     1  CentOS release 5.3 (Final)     2  Kernel \r on an \m     3# 看到了吧!可以印出行號呢!這對於大檔案要找某個特定的行時,有點用處!# 如果不想要編排空白行的行號,可以使用『cat -b /etc/issue』,自己測試看看:

 

將 /etc/xinetd.conf 的內容完整的顯示出來(包含特殊位元組)

[root@www ~]# cat -A /etc/xinetd.conf#$....(中間省略)....$defaults${$# The next two items are intended to be a quick access place to$....(中間省略)....^Ilog_type^I= SYSLOG daemon info $^Ilog_on_failure^I= HOST$^Ilog_on_success^I= PID HOST DURATION EXIT$....(中間省略)....includedir /etc/xinetd.d$ $# 上面的結果限於篇幅,鳥哥刪除掉很多資料了。另外,輸出的結果並不會有特殊字型,# 鳥哥上面的特殊字型是要讓您發現差異點在哪裡就是了。基本上,在一般的環境中,# 使用 [tab] 與空白鍵的效果差不多,都是一堆空白啊!我們無法知道兩者的差別。# 此時使用 cat -A 就能夠發現那些空白的地方是啥鬼東西了![tab]會以 ^I 表示,# 斷行位元組則是以 $ 表示,所以你可以發現每一行後面都是 $ 啊!不過斷行位元組# 在Windows/Linux則不太相同,Windows的斷行位元組是 ^M$ 羅。# 這部分我們會在第十章 vim 軟體的介紹時,再次的說明到喔!

嘿嘿!Linux 裡面有『貓』命令?喔!不是的, cat 是 Concatenate (連續)的簡寫, 主要的功能是將一個檔案的內容連續的印出在螢幕上面!例如上面的例子中,我們將 /etc/issue 印出來!如果加上 -n 或 -b 的話,則每一行前面還會加上行號呦!

鳥哥個人是比較少用 cat 啦!畢竟當你的檔案內容的行數超過 40 行以上,嘿嘿!根本來不及在螢幕上看到結果! 所以,配合等一下要介紹的 more 或者是 less 來運行比較好!此外,如果是一般的 DOS 檔案時,就需要特別留意一些奇奇怪怪的符號了, 例如斷行與 [tab] 等,要顯示出來,就得加入 -A 之類的選項了!

 

tac (反向列示)
[root@www ~]# tac /etc/issueKernel \r on an \mCentOS release 5.3 (Final)# 嘿嘿!與剛剛上面的範例一比較,是由最後一行先顯示喔!

tac 這個好玩了!怎麼說呢?詳細的看一下, cat 與 tac ,有沒有發現呀!對啦! tac 剛好是將 cat 反寫過來,所以他的功能就跟 cat 相反啦, cat 是由『第一行到最後一行連續顯示在螢幕上』,而 tac 則是『 由最後一行到第一行反向在螢幕上顯示出來 』,很好玩吧!

 

nl (添加行號列印)
[root@www ~]# nl [-bnw] 檔案選項與參數:-b  :指定行號指定的方式,主要有兩種:      -b a :表示不論是否為空白行,也同樣列出行號(類似 cat -n);      -b t :如果有空行,空的那一行不要列出行號(預設值);-n  :列出行號表示的方法,主要有三種:      -n ln :行號在螢幕的最左方顯示;      -n rn :行號在自己欄位的最右方顯示,且不加 0 ;      -n rz :行號在自己欄位的最右方顯示,且加 0 ;-w  :行號欄位的佔用的位元。

 

用 nl 列出 /etc/issue 的內容

[root@www ~]# nl /etc/issue     1  CentOS release 5.3 (Final)     2  Kernel \r on an \m# 注意看,這個檔案其實有三行,第三行為空白(沒有任何位元組),# 因為他是空白行,所以 nl 不會加上行號喔!如果確定要加上行號,可以這樣做:[root@www ~]# nl -b a /etc/issue     1  CentOS release 5.3 (Final)     2  Kernel \r on an \m     3# 呵呵!行號加上來羅~那麼如果要讓行號前面自動補上 0 呢?可這樣[root@www ~]# nl -b a -n rz /etc/issue000001  CentOS release 5.3 (Final)000002  Kernel \r on an \m000003# 嘿嘿!自動在自己欄位的地方補上 0 了~預設欄位是六位元,如果想要改成 3 位元?[root@www ~]# nl -b a -n rz -w 3 /etc/issue001     CentOS release 5.3 (Final)002     Kernel \r on an \m003# 變成僅有 3 位元羅~

nl 可以將輸出的檔案內容自動的加上行號!其預設的結果與 cat -n 有點不太一樣, nl 可以將行號做比較多的顯示設計,包括位元與是否自動補齊 0 等等的功能呢。

 

more (一頁一頁翻動)

 

[root@www ~]# more /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中間省略)....--More--(28%)  <== 重點在這一行喔!你的游標也會在這裡等待你的命令

仔細的給他看到上面的範例,如果 more 後面接的檔案內容行數大於螢幕輸出的行數時, 就會出現類似上面的圖示。重點在最後一行,最後一行會顯示出目前顯示的百分比, 而且還可以在最後一行輸入一些有用的命令喔!在 more 這個程式的運行過程中,你有幾個按鍵可以按的:

  • 空白鍵 (space):代表向下翻一頁;
  • Enter         :代表向下翻『一行』;
  • /字串         :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
  • :f            :立刻顯示出檔名以及目前顯示的行數;
  • q             :代表立刻離開 more ,不再顯示該檔案內容。
  • b 或 [ctrl]-b :代表往回翻頁,不過這動作只對檔案有用,對管線無用。

要離開 more 這個命令的顯示工作,可以按下 q 就能夠離開了。而要向下翻頁,就使用空白鍵即可。 比較有用的是搜尋字串的功能,舉例來說,我們使用『 more /etc/man.config 』來觀察該檔案, 若想要在該檔案內搜尋 MANPATH 這個字串時,可以這樣做:

[root@www ~]# more /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中間省略)..../MANPATH   <== 輸入了 / 之後,游標就會自動跑到最底下一行等待輸入!

如同上面的說明,輸入了 / 之後,游標就會跑到最底下一行,並且等待你的輸入, 你輸入了字串並按下[enter]之後,嘿嘿! more 就會開始向下搜尋該字串羅~而重複搜尋同一個字串, 可以直接按下 n 即可啊!最後,不想要看了,就按下 q 即可離開 more 啦!

 

less (一頁一頁翻動)
[root@www ~]# less /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中間省略)....:   <== 這裡可以等待你輸入命令!

less 的用法比起 more 又更加的有彈性,怎麼說呢?在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,呵呵!就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看檔案,你瞧,是不是更容易使用來觀看一個檔案的內容了呢!

除此之外,在 less 裡頭可以擁有更多的『搜尋』功能喔!不止可以向下搜尋,也可以向上搜尋~ 實在是很不錯用~基本上,可以輸入的命令有:

  • 空白鍵    :向下翻動一頁;
  • [pagedown]:向下翻動一頁;
  • [pageup]  :向上翻動一頁;
  • /字串     :向下搜尋『字串』的功能;
  • ?字串     :向上搜尋『字串』的功能;
  • n         :重複前一個搜尋 (與 / 或 ? 有關!)
  • N         :反向的重複前一個搜尋 (與 / 或 ? 有關!)
  • q         :離開 less 這個程式;

查閱檔案內容還可以進行搜尋的動作~瞧~ less 是否很不錯用啊! 其實 less 還有很多的功能喔!詳細的使用方式請使用 man less 查詢一下啊! ^_^

你是否會覺得 less 使用的畫面與環境與 man page 非常的類似呢?沒錯啦!因為man這個命令就是呼叫 less 來顯示說明檔案的內容的! 

 

head (取出前面幾行)
[root@www ~]# head [-n number] 檔案 選項與參數:-n  :後面接數字,代表顯示幾行的意思[root@www ~]# head /etc/man.config# 預設的情況中,顯示前面十行!若要顯示前 20 行,就得要這樣:[root@www ~]# head -n 20 /etc/man.config

 

如果後面100行的資料都不列印,只列印/etc/man.config的前面幾行,該如何是好?

[root@www ~]# head -n -100 /etc/man.config

head 的英文意思就是『頭』啦,那麼這個東西的用法自然就是顯示出一個檔案的前幾行羅! 沒錯!就是這樣!若沒有加上 -n 這個選項時,預設只顯示十行,若只要一行呢?那就加入『 head -n 1 filename 』即可!

另外那個 -n 選項後面的參數較有趣,如果接的是負數,例如上面範例的-n -100時,代表列前的所有行數, 但不包括後面100行。舉例來說,/etc/man.config共有141行,則上述的命令『head -n -100 /etc/man.config』 就會列出前面41行,後面100行不會列印出來了。

 

tail (取出後面幾行)
[root@www ~]# tail [-n number] 檔案 選項與參數:-n  :後面接數字,代表顯示幾行的意思-f  :表示持續偵測後面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測[root@www ~]# tail /etc/man.config# 預設的情況中,顯示最後的十行!若要顯示最後的 20 行,就得要這樣:[root@www ~]# tail -n 20 /etc/man.config

 

如果不知道/etc/man.config有幾行,卻只想列出100行以後的資料時?

[root@www ~]# tail -n +100 /etc/man.config

 

持續偵測/var/log/messages的內容

[root@www ~]# tail -f /var/log/messages  <==要等到輸入[crtl]-c之後才會離開tail這個命令的偵測

 

轉自 http://vbird.dic.ksu.edu.tw/linux_basic/0220filemanager_3.php

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.