查看 Linux 文件內容的 6 種方法
已發表: 2022-08-18使用 Linux PC 的最重要方法之一是通過文件。
幾乎您在 Linux 終端中直接處理的每個文件都可以作為文本文件進行操作。 這包括配置文件、有關係統中各種服務和進程的日誌文件,以及與您選擇的 Linux 發行版捆綁在一起或您自己編寫的腳本文件。
知道如何在 Linux 終端中快速查看這些文件的內容是一項非常寶貴的技能,不僅可以節省您的時間,還可以幫助您更多地了解系統。 本教程將向您展示如何在 Linux 終端中查看這些類型的文件。
貓
cat
命令是一個簡單且非常有用的命令,用於在 Linux 上查看文件內容。
您可以使用 cat 命令將文件內容快速打印到終端的標準輸出中,或者連接輸出。
cat 命令的語法如下:
$ cat [OPTION] [FILE1] …
例如,如果您有一個名為simple-list.txt
的文件,其中包含一些項目的列表,您可以使用以下命令查看該文件的內容
$ cat simple-list.txt
例如:
$ cat simple-list.txt bananas strawberries grapes apples watermelons oranges blueberries lemons peaches avocados pineapples cherries cantaloupe raspberries pears limes blackberries clementine mangoes plums
也可以同時列出多個文件,一次性獲取終端中所有文件的輸出,如下圖:
$ cat testfile1.txt testfile2.txt these are the contents of testfilel.txt. and this is the end of testfilel.txt these are the contents of testfile2.txt. and this is the end of testfile2.txt
荷蘭語
如果您希望能夠查看文件中每一行的行號, nl
命令正是這樣做的。 您可以像 cat 命令一樣使用此命令,唯一的區別是 nl 默認啟用了行號。
使用 cat 命令,您可以使用 -e 選項獲得相同的結果。 這是與nl
相同的simple-list.txt
文件輸出的示例輸出
$ nl simple-list.txt 1 bananas 2 strawberries 3 grapes 4 apples 5 watermelons 6 oranges 7 blueberries 8 lemons 9 peaches 10 avocados 11 pineapples 12 cherries 13 cantaloupe 14 raspberries 15 pears 16 limes 17 blackberries 18 clementine 19 mangoes 20 plums
可以使用-nln
選項將行號更改為左對齊。 還有其他選項可以與nl
命令一起使用,列在man nl
下
更多的
到目前為止,您需要使用鼠標滾輪或鍵盤上的Shift+Page-up
和Shift+Page-down
按鈕滾動輸出。
但是, more
命令提供了一種更簡單的方法來查看不完全適合終端窗口的較長文件。
通過更多命令查看時會顯示相同的 simple-list.txt 文件:

更多命令的查看窗口中的導航可以是逐行或逐頁的。 您可以使用 Enter 鍵一次瀏覽一行,或者使用 Space 鍵一次瀏覽一頁。
B
鍵用於返回上一頁。 當您到達文件末尾時,更多命令也會告訴您,如下所示:

您可以隨時按 q 退出更多命令的查看窗口,返回終端屏幕。 這樣在不打斷終端流程的情況下,可以使用更多的命令查看長配置或日誌文件。
較少的
更少是對更多命令的更現代的看法。 當 Linux 生態系統中引入的命令較少時,大多數命令不支持向上滾動。
除了讓用戶上下滾動之外, less
命令還支持水平滾動,支持更好地處理二進製文件,並且可以通過文本執行搜索。
下面通過less看一下我們的simple-list.txt文件:
$ less simple-list.txt

除了用於更多命令的導航鍵之外,您還可以使用鍵盤上的箭頭鍵進行導航。 當您在 less 的查看窗口中時,您可以使用 /word 在文件內容中搜索 word。
這顯示在下面的屏幕截圖中,用戶在文件內容中搜索蘋果:

Less 命令還支持更高級的功能,例如能夠在特定單詞第一次出現時查看文件內容。 為此,命令語法如下:

$ less +/target-word /path-to-file
例如,要在單詞 cultivar 第一次出現時打開 apples.txt 文件,將使用以下命令:
$ less +/cultivar apples.txt
頭
如果只想快速查看文件的前十行,可以通過
head
命令如下圖:
$ head simple-list.txt bananas strawberries grapes apples watermelons oranges blueberries lemons peaches avocados
默認情況下,終端中只顯示前十行,但您可以使用-n
選項更改顯示的行數,如下所示:
$ head -n 5 simple-list.txt bananas strawberries grapes apples watermelons
同樣, -c
選項可用於將特定數量的字節從文件打印到終端。
尾巴
tail
命令的工作方式與 head 命令類似,唯一的主要區別是它顯示文件的最後十行而不是前十行。
$ tail simple-list.txt cherries cantaloupe raspberries pears limes blackberries clementine mangoes plums tangerines
$ tail -n 5 simple-list.txt blackberries clementine mangoes plums tangerines
此外,head 和 tail 命令都可以與教程中顯示的其他文件查看命令一起使用,以便為用戶生成更好的輸出。
例如, nl
命令可用於首先顯示帶有行號的文件。 然後可以將結果通過管道傳遞給less查看文件的最後三行,如下圖:
$ nl simple-list.txt | tail -n 3 19 mangoes 20 plums 21 tangerines

查看 Linux 文件的常見問題
通過file命令可以查看文件的類型,其語法如下:
$ file [OPTIONS] target-file
您可以通過管道組合多個命令,不僅可以搜索大型日誌文件,還可以在組織良好的輸出中顯示搜索結果。
例如,將 grep 與nl
和tail
結合使用,您可以找出最近幾次在您的 Web 服務器上請求特定文件的時間,如下所示:
$ nl /var/log/apache/mywebsite.log | grep target-file.jpg | tail -n 5
上述命令將顯示您的 Web 服務器上請求 target-file.jpg 的最後文件時間。
空格鍵用於向下滾動帶有更多和更少命令的整頁。
要在 less 中逐行向下滾動,請使用鍵盤上的 Enter 鍵。
要向上滾動頁面,請使用 b 鍵。
要在您當前正在查看的文件內容中或多或少地搜索特定單詞,請使用語法 /word-to-search。
您可以使用通用命令xdg-view
或其任何變體用於您已安裝的特定發行版,例如 gnome-view 或kde-view
,以打開富文本或圖像文件。
$ xdg-view enwiki.png
這將在目標文件類型的默認應用程序中打開文件。