我正在尝试获取单位的状态,但只有前 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