Linux tail命令顯示檔案末尾的資料。它甚至可以實時顯示新增到檔案中的更新。我們教你如何使用它。
tail命令顯示檔案末尾的資料。通常,新資料會新增到檔案的末尾,因此tail命令是檢視檔案中最新新增內容的一種快速簡便的方法。它還可以監視一個檔案,並在出現新的文字條目時顯示該檔案。這使它成為監視日誌檔案的好工具。
許多現代Linux發行版都採用了systemd系統和****器。這是執行的第一個程序,它的程序ID為1,是所有其他程序的父程序。此角色以前由舊的init系統處理。
伴隨著這一變化而來的是一種新的系統日誌檔案格式。在systemd下,它們不再以純文字形式建立,而是以二進位制格式記錄。要讀取這些日誌檔案,必須使用journactl實用程式。tail命令適用於純文字格式。它不讀取二進位制檔案。那麼,這是否意味著tail命令是尋找問題的解決方案呢?它還有什麼可以提供的嗎?
tail命令不僅僅是實時顯示更新。對於這一點,仍然有大量的日誌檔案不是系統生成的,仍然是作為純文字檔案建立的。例如,應用程式生成的日誌檔案沒有更改其格式。
將檔名傳遞給tail,它將顯示該檔案的最後10行。我們使用的示例檔案包含排序單詞的列表。每一行都有編號,因此應該很容易按照示例進行操作,並檢視各種選項的效果。
tail word-list.txt要檢視不同的行數,請使用-n(行數)選項:
tail -n 15 word-list.txt實際上,您可以省去“-n”,只使用連字元“-”和數字。確保它們之間沒有空格。從技術上講,這是一個過時的命令表單,但它仍然在手冊頁中,並且仍然有效。
tail -12 word-list.txt你可以同時處理多個檔案。只需在命令列上傳遞檔名:
tail -n 4 list-1.txt list-2.txt list-3.txt每個檔案都會顯示一個小的標頭檔案,這樣就可以知道行屬於哪個檔案。
+(從開始計數)修飾符使尾部顯示從檔案開始的行,從特定行號開始。如果您的檔案很長,並且您選擇了靠近檔案開頭的一行,那麼您將得到大量傳送到終端視窗的輸出。如果是這樣的話,將tail的輸出匯入less是有意義的。
tail +440 list-1.txt你可以用一種受控的方式翻閱文字。
由於此檔案中恰好有20445行,因此此命令相當於使用“-6”選項:
tail +20440 list-1.txt您可以使用-c(bytes)選項,告訴tail使用位元組而不是行的偏移。如果您有一個文字檔案,它格式化為常規大小的記錄,這可能會很有用。注意,換行字元計數為一個位元組。此命令將顯示檔案中最後93個位元組:
tail -c 93 list-2.txt您可以將-c(bytes)選項與+(從檔案開始計數)修飾符結合使用,並以從檔案開始計數的位元組為單位指定偏移量:
tail -c +351053 list-e.txt早些時候,我們透過管道將tail的輸出傳輸到less。我們還可以將其他命令的輸出透過管道傳輸到tail中。
要標識修改時間最早的五個檔案或資料夾,請使用ls的-t(按修改時間排序)選項,並將輸出匯入tail。
ls -tl | tail -5head命令列出檔案開頭的文字行。我們可以將其與tail結合起來提取檔案的一部分。在這裡,我們使用head命令從檔案中提取前200行。這是被輸送到尾巴,這是提取最後十行。這是第191行到第200行。即前200行中的最後10行:
head -n 200 list-1.txt | tail -10這個命令列出了五個最需要記憶體的程序。
ps aux | sort -nk +4 | tail -5我們把它分解一下。
ps命令顯示有關正在執行的程序的資訊。使用的選項包括:
sort命令對ps的輸出進行排序。我們用於排序的選項有:
tail-5命令顯示排序輸出的最後五個程序。這是五個最需要記憶體的程序。
跟蹤新的文字條目到達一個檔案通常是一個日誌檔案很容易與尾巴。在命令列上傳遞檔名並使用-f(follow)選項。
tail -f geek-1.log當每個新的日誌條目新增到日誌檔案中時,tail會更新其在終端視窗中的顯示。
您可以最佳化輸出,使其僅包含具有特定相關性或興趣的行。在這裡,我們使用grep只顯示包含單詞“average”的行:
tail -f geek-1.log | grep average要跟蹤對兩個或多個檔案的更改,請在命令列上傳遞檔名:
tail -f -n 5 geek-1.log geek-2.log每個條目都帶有一個標題,顯示文字來自哪個檔案。
每次新條目到達後續檔案時,顯示都會更新。要指定更新週期,請使用-s(sleep period)選項。這告訴tail在檔案檢查之間等待幾秒鐘,在本例中為5秒鐘。
tail -f -s 5 geek-1.log誠然,你不能透過看螢幕截圖來判斷,但是檔案的更新每兩秒鐘就發生一次。新的檔案條目每五秒鐘在終端視窗中顯示一次。
當您跟蹤多個檔案的文字新增時,可以抑制指示文字來自哪個日誌檔案的標頭。使用-q(安靜)選項執行以下操作:
tail -f -q geek-1.log geek-2.log檔案的輸出以文字的無縫混合方式顯示。沒有跡象表明每個條目來自哪個日誌檔案。
儘管現在journalctl提供了對系統日誌檔案的訪問,但tail仍然提供了很多功能。尤其是當它與其他命令結合使用時,透過管道進入或離開尾部。
systemd可能已經改變了環境,但是對於符合Unix哲學的傳統實用程式來說,仍然有一個位置,那就是做一件事並且把它做好。
... 無論您敏感工作的性質如何,您都將受益於這五種安全的Linux作業系統之一。 ...
... 在本文中,我將向您展示如何在Linux上安裝、執行和使用PowerShell! ...
...慮到Linux的吉祥物是Tux,這個名字告訴你Gentoo的開發者是如何看待競爭的。 ...
... 別開玩笑了,如果你想知道如何以安全匿名的方式訪問黑暗網路,那就繼續閱讀吧。當你想進入黑暗的網路時,你需要採取一些關鍵的步驟。 ...
... 如何在windows10上安裝linux bash shell ...
當你想訪問黑暗的網路時,你需要使用一個知道如何訪問內容的瀏覽器。像Chrome和Safari這樣的瀏覽器是不合適的。 ...
要在Linux中重新命名檔案嗎?如果您知道如何在Windows、macOS或Chrome作業系統中完成這項工作,那麼您就知道如何在這裡完成這項工作。在大多數版本的Linux上,您只需右鍵單擊一個檔案並選擇Rename選項。 ...
想在Linux系統上新增使用者但不知道如何新增?在Linux上使用命令列介面管理使用者無疑是一項複雜的工作。而對於初學者來說,即使新增新使用者也是一場噩夢。 ...
...複您過去執行的命令。一旦您瞭解了Linux history命令以及如何使用它,它就可以顯著地提高您的生產效率。 操縱歷史 正如喬治桑塔亞納(georgestantayana)的一句名言:“那些記不住過去的人註定要重蹈覆轍。”不幸的是,在Linux...
...和術語。按less中的正斜槓“/”鍵啟動搜尋功能。 相關:如何在Linux上使用less命令 不再需要sudo 如果希望避免每次使用dmesg時都必須使用sudo,可以使用以下命令。但是,請注意:它允許任何擁有您的計算機使用者帳戶的人使用dme...