
ユニットのステータスを取得しようとしていますが、次のように最初の 3 行のみが表示されます。
systemctl --user status resilio-sync --lines=3
-n 3 などを使ってこれをいろいろ試してみましたが、何も機能しません。そして奇妙なのは、ドキュメントによるとデフォルトで 10 行であるはずのログが常に 13 行表示されることです。システムctl。
試してみるとsystemctl status
、実際には 10 行であるべきところ、45 行すべてが端末に出力されることがわかります。
何か見落としているのでしょうか? 私の知る限り、何も変更していません。
回避策として、現在使用しているのは次の方法です。
systemctl --user status resilio-sync | sed -ne '1,3p'
しかし、根本的な問題を修正してネイティブ コマンドを使用したいです。システムは、Raspberry Pi 上の Kali Linux (re4son-kernel、sticky finger) です (この奇妙な設定のせいにするのは簡単ですが、これは 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