1. 程式人生 > >命令列小技巧:讀取檔案的不同方式

命令列小技巧:讀取檔案的不同方式

作為圖形作業系統,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

當然,這些只是在這個領域的幾個簡單的命令。但它們可以讓你在閱讀檔案時容易入手。