Systemctl 상태는 --lines를 사용해도 항상 전체 로그를 표시합니다.

Systemctl 상태는 --lines를 사용해도 항상 전체 로그를 표시합니다.

장치의 상태를 얻으려고 하는데 처음 3줄만 다음과 같습니다.

systemctl --user status resilio-sync --lines=3

나는 -n 3 등을 사용하여 이것의 다양한 변형을 시도했지만 아무것도 작동하지 않습니다. 그리고 이상한 부분은 문서에 따라 기본값이어야 하는 10줄 대신 항상 전체 로그(13줄)를 표시한다는 것입니다.systemctl.

시도해 보면 systemctl status이것이 확인됩니다. 실제로는 10이어야 하는데 45개 라인을 모두 터미널에 출력합니다.

여기서 뭔가 빠졌나요? 내가 아는 한 나는 아무것도 바꾸지 않았습니다.

해결 방법으로 현재 다음을 사용하고 있습니다.

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, --lines=

함께 사용하는 경우상태, 제어저널 라인 수가장 최근 항목부터 계산하여 표시합니다. 양의 정수 인수를 취합니다. 또는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

관련 정보