
我正在嘗試獲取單位的狀態,但只有前 3 行如下所示:
systemctl --user status resilio-sync --lines=3
我已經嘗試了 -n 3 等的各種變體...,沒有任何效果。奇怪的是:它總是顯示完整的日誌(13 行),而不是 10 行,根據文檔,這應該是預設值系統控制。
嘗試systemctl status
證實了這一點:它只是將所有 45 行輸出到終端,而實際上應該是 10 行。
我在這裡錯過了什麼嗎?據我所知我沒有改變任何東西。
作為我目前正在使用的解決方法:
systemctl --user status resilio-sync | sed -ne '1,3p'
但我寧願解決根本問題並使用本機命令。系統是 Raspberry Pi 上的 Kali Linux(re4son-kernel,黏手指)(很容易歸咎於這個奇怪的設置,但由於這是核心 Linux 功能,我認為這不重要)
答案1
此指令systemctl status
顯示服務的狀態以及來自日誌的對應行journalctl
,這--lines=3
會將日誌中顯示的行數限制為 3。
systemctl --user status resilio-sync --lines=0
將僅顯示服務狀態esilio-sync
而不顯示journalctl
日誌。
-n,--行=
當與地位, 控制日記帳行數顯示,從最近的開始計數。採用正整數參數,或者0 禁用日誌輸出。預設為 10。
若要限制命令的輸出,systemctl status
您可以使用選項:
systemctl check resilio-sync
systemctl is-active resilio-sync
systemctl is-enabled resilio-sync
或透過對選項進行分組:
systemctl is-active is-enabled resilio-sync
答案2
這就是 head 指令的設計目的。
systemctl --user status resilio-sync | head -n 3