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