命令列小技巧:讀取檔案的不同方式
作為圖形作業系統,Fedora 的使用是令人愉快的。你可以輕鬆地點選完成任何任務。但你可能已經看到了,在底層還有一個強大的命令列。想要在 shell 下體驗,只需要在 Fedora 系統中開啟你的終端應用。這篇文章是向你展示常見的命令列使用方法的系列文章之一。
在這部分,你將學習如何以不同的方式讀取檔案,如果你在系統中開啟一個終端完成一些工作,你就有可能需要讀取一兩個檔案。
一應俱全的大餐
對命令列終端的使用者來說, cat
命令眾所周知。 當你 cat
一個檔案,你很容易的把整個檔案內容展示在你的螢幕上。而真正發生在底層的是檔案一次讀取一行,然後一行一行寫入螢幕。
假設你有一個檔案,叫做 myfile
12345 | onetwothreefourfive |
所以如果你 cat
這個檔案,你就會看到如下輸出:
123456 | $cat myfileonetwothreefourfive |
並沒有太驚喜,不是嗎? 但是有個有趣的轉折,只要使用 tac
命令,你可以從後往前 cat
這個檔案。(請注意, Fedora 對這種有爭議的幽默不承擔任何責任!)
123456 | $tac myfilefivefourthreetwoone |
cat
命令允許你以不同的方式裝飾輸出,比如,你可以輸出行號:
123456 | $cat-nmyfile1one2two3three4four5five |
還有其他選項可以顯示特殊字元和其他功能。要了解更多, 請執行 man cat
命令, 看完之後,按 q
即可退出回到 shell。
挑選你的食物
通常,檔案太長會無法全部顯示在螢幕上,您可能希望能夠像文件一樣檢視它。 這種情況下,可以試試 less
命令:
1 | $less myfile |
你可以用方向鍵,也可以用 PgUp
/PgDn
來檢視檔案, 按 q
就可以退回到 shell。
實際上,還有一個 more
命令,其基於老式的 UNIX 系統命令。如果在退回 shell 後仍想看到該檔案的內容,則可能需要使用它。而 less
命令則讓你回到你離開 shell 之前的樣子,並且清除螢幕上你看到的所有的檔案內容。
一點披薩或甜點
有時,你所需的輸出只是檔案的開頭。 比如,有一個非常長的檔案,當你使用 cat
命令時,會顯示這個檔案所有內容,前幾行的內容很容易滾動過去,導致你看不到。head
命令會幫你獲取檔案的前幾行:
123 | $head-n2myfileonetwo |
同樣,你會用 tail
命令來檢視檔案的末尾幾行:
1234 | $tail-n3myfilethreefourfive |
當然,這些只是在這個領域的幾個簡單的命令。但它們可以讓你在閱讀檔案時容易入手。