
我tail -f
在 Linux shell 中使用它來查看日誌文件,因為我喜歡它如何自動更新傳入的文字:我喜歡看到新內容滾動進來。
不過,我也喜歡 的搜尋功能less
,該功能在 中不可用tail
(或者是嗎?)。有沒有「兩全其美」的解決方案?
如果有一種模式我可以打開,less
使其自動更新傳入的文本,那麼這可能是理想的。
答案1
您可以運行less +F filename
以tail -f
時尚地查看文件。
您可以在檢視文件時按 Shift+F較少的切換到轉送模式,Ctrl+C 退出此模式。
答案2
從less -help
:
F 永遠向前;就像「尾-f」。
所以大概 less +F /var/log/messages
答案3
Nicolai 的答案可能最接近您的要求,但是您考慮過使用 tmux 嗎?
在我的 tmux 會話中,我喜歡tail -f
記錄日誌,然後只需進入 tmux 的複製模式即可上下搜索,就像在 less 中搜索一樣,然後退出複製模式以發現我tail -f
仍在繼續。
建立 tmux 會話:
tmux
追蹤日誌檔案和最後 1000 行以開始:
tail -f -n1000 /var/log/syslog
使用前導鍵和左括號進入複製模式:
[ctrl+leader] + [
預設的 tmux 主鍵是字母 b,例如:
[ctrl+b] [
現在您可以像在 less 中一樣滾動和上下搜索。
退出複製模式返回您的tail -f
:
[crtl+c]
獎勵材料:開啟第二個終端提示:
[ctrl+leader] + c
在兩個終端提示之間切換:
[ctrl+leader] + l
答案4
你可以這樣做
tailf logname.log | grep "query-here"