如何在尾部命令中查看Linux文件的結尾

在Linux中有兩個非常有用的命令讓你看到文件的一部分。 第一個稱為head,默認情況下,它向您顯示文件中的前10行。 第二個是tail命令,它默認允許您查看文件中的最後10行。

你為什麼要使用這些命令? 為什麼不使用cat命令查看整個文件或使用諸如nano之類的編輯器?

想像一下你正在閱讀的文件有30萬行。

想像一下,該文件消耗了大量的磁盤空間。

head命令的常見用法是確保要查看的文件確實是正確的文件。 通常可以通過查看前幾行來確定是否正在查看正確的文件。 然後,您可以選擇使用編輯器(如nano)來編輯文件。

tail命令對於查看最後幾行文件非常有用,並且當您想要查看/ var / log文件夾中保存的日誌文件中發生的情況時,該命令非常有用。

本指南將向您展示如何使用tail命令,包括所有可用的開關。

尾部命令的示例用法

如前所述,tail命令默認顯示文件的最後10行。

tail命令的語法如下所示:

tail <文件名>

例如,要查看系統的啟動日誌,可以使用以下命令:

sudo tail /var/log/boot.log

輸出將是這樣的:

*啟動啟用剩餘的引導時間加密塊設備[確定]
*開始保存udev日誌並更新規則[確定]
*停止保存udev日誌並更新規則[確定]
*語音調度員被禁用; 編輯/ etc / default / speech-dispatcher
*禁用VirtualBox Additions,不在虛擬機中
已禁用; 編輯/ etc / default / saned
*恢復解析器狀態... [確定]
*停止System V運行級別兼容性[OK]
*啟動MDM顯示管理器[確定]
*停止發送活動以指示普利茅斯已啟動[確定]

如何指定要顯示的行數

也許你想看到超過文件的最後10行。 您可以使用以下命令指定想要查看的行數:

sudo tail -n20

上面的例子會顯示文件的最後20行。

另外,您也可以使用-n開關在文件中指定起始點。 也許你知道文件中的前30行是註釋,而你只是想看到文件中的數據。 在這種情況下,您可以使用以下命令:

sudo tail -n + 20

tail命令經常與more命令一起使用,以便您一次可以讀取文件。

例如:

sudo tail -n + 20 | 更多

上述命令從文件名發送最後20行,並將其作為輸入傳遞給more命令:

您還可以使用tail命令顯示一定數量的字節而不是行:

sudo tail -c20

再次,您可以使用相同的開關從一個特定的字節數開始顯示,如下所示:

sudo tail -c + 20

如何監視日誌文件

有許多腳本和程序不會輸出到屏幕上,但會在運行時追加到日誌文件中。

在這種情況下,您可能希望在日誌文件發生更改時對其進行監視。

您可以使用以下tail命令來檢查日誌如何每隔幾秒更改一次:

sudo tail -F -s20

您還可以使用tail來繼續監視日誌,直到進程死亡,如下所示:

sudo tail -F --pid = 1234

要查找進程的進程ID,可以使用以下命令:

ps -ef | grep <程序名>

例如,假設您正在使用nano編輯文件。 您可以使用以下命令找到nano的進程ID:

ps -ef | grep nano

命令的輸出會給你一個進程ID。 假設進程ID是1234。

您現在可以使用以下命令針對納米編輯的文件運行尾部:

sudo tail -F --pid = 1234

每次將文件保存在nano中時,尾部命令將在底部拾取新行。 該命令僅在納米編輯器關閉時停止。

如何重試尾巴命令

如果您在嘗試運行tail命令時收到錯誤,因為由於某些原因無法訪問,那麼您可以使用retry參數繼續重試,直到文件可用。

sudo tail --retry -F

這只能與-F開關一起使用,因為您需要關注要重試的文件。

概要

本指南顯示了tail命令的更常見用法。

要了解有關tail命令的更多信息,可以使用以下命令:

男人的尾巴

你會注意到我在大多數命令中都包含了sudo 。 只有當您沒有像普通用戶一樣的權限來查看文件並且您需要提升的權限時,才需要這樣做。