当我同时使用多个服务运行 systemctl status 时
sudo systemctl status myservice1 myservice2 myservice3
我看到了输出,但最后我看到
lines 1-48/48 (END)
或者如果参数更多,输出会更大
lines 1-62
我可以滚动或分页输出并使用 q 退出。
是否可以改变此行为,即一次打印所有日志输出并且命令退出?
答案1
两个选项:
PAGER=cat systemctl status service1 service2 service3
systemctl --no-pager status service1 service2 service3
解释:
这些lines 1-62
消息由寻呼程序生成,常用的是more
和less
。寻呼程序旨在使输出更加用户友好、可滚动等。它们在功能不太丰富的终端仿真器上尤其重要。
使用的分页程序由环境变量控制PAGER
。通过设置PAGER
为,cat
我们用一个更简单的分页程序(实际上不执行任何分页)替换 fanciermore
或。less
另一种方法是传递--no-pager
给systemctl
它,告诉它根本不要调用寻呼机程序。