Less
用 less 和 journalctl 打破跟隨模式
一個困擾同事的有趣煩惱:
如果你
less
是一個被附加到的文件,你可以點擊shift
-f
開始實時跟踪輸出流。然後,要停止跟踪輸出,請點擊ctrl
-c
,之後您可以像往常一樣導航和搜尋文件。這在使用時不起作用
journalctl
。假設你想關注你的 nginx 日誌——你會執行journalctl -u nginx
,然後是通常的shift
——f
開始關注輸出。但是,當您按下ctrl
-時c
,會less
立即終止,而不是像跟隨文件時那樣退出“跟隨”模式並返回“導航”模式。不用說,這非常煩人。為什麼會這樣,如何恢復正常功能?
正如在 ServerFault 上回答的那樣,這是因為
less
使用標誌呼叫K
,這會導致它在收到^C
字元時死亡,而不是返回到其命令提示符。要解決此問題,請將變數導出
SYSTEMD_LESS="FRSXM"
到您的環境中。這是systemd
傳遞給的標準標誌集less
,減去K
無法脫離跟隨模式的問題。