Linux에서 파이프를 사용할 때 ps 헤더를 인쇄하는 방법

Linux에서 파이프를 사용할 때 ps 헤더를 인쇄하는 방법

리눅스에서 파이프를 사용할 때 ps 헤더를 인쇄하는 방법

이것은 정상적인 ps 출력입니다.

$ ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 17:00 ?        00:00:02 /usr/lib/systemd/systemd

그러나 다음 ps 명령 출력에는 제목이 없습니다.

$ ps -ef | grep systemd
root          1      0  0 17:00 ?        00:00:02 /usr/lib/systemd/systemd

두 번째 명령의 ps 제목을 인쇄하는 방법은 무엇입니까?

감사해요

답변1

내 첫 번째 본능은 이렇게 하는 것이었지만 ps -ef | grep UID && ps -ef | grep systemd이렇게 하면 grep 명령도 다음과 같이 인쇄됩니다.

$ ps -ef | grep UID && ps -ef | grep systemd
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 17:00 ?        00:00:02 /usr/lib/systemd/systemd
user          PID PPID  C 23:30 ?        00:00:00 grep systemd
user          PID PPID  C 23:30 ?        00:00:00 grep UID

헤더를 인쇄하는 방법을 이해하지 못합니다. 이 작업을 수행할 때마다 정규 표현식이 grep 자체와 일치하기 때문입니다.

답변2

이렇게 하면 grep이 표시되지 않습니다.

ps -ef > tmpfile.txt; egrep 'UID|systemd' tmpfile.txt; rm tmpfile.txt

관련 정보