제가 이해할 수 있는 방식으로 설명해주세요:
ps ax >mytemp; more <mytemp … same as … ps ax | more
cat mytemp | grep barrymp … same as … ps ax | grep “barrymp”
답변1
한 번에 한 줄씩 가져와 각 줄을 반으로 나눕니다.
ps ax >mytemp; more <mytemp
의 출력을 가져 ps ax
와서 이라는 파일에 넣습니다 mytemp
. 세미콜론은 같은 줄에 있는 별도의 명령의 시작을 표시합니다. 두 번째 명령은 의 내용을 가져 와서 (파일을 화면별로 표시하는 호출기) mytemp
에 공급합니다 . 귀하의 메모에는 이것이 임시 파일을 생성하지 않는다는 점을 제외하면 사실 more
과 동일하다고 나와 있습니다 . 둘 다 효과적으로 출력을 취하여 결국 표준 입력으로 만듭니다.ps ax | more
mytemp
ps ax
more
두 번째 줄:
cat mytemp | grep barrymp
stdout으로 호출된 파일의 내용을 인쇄한 다음 출력을 필터링하기 위해 제공된 명령 mytemp
에 대한 표준 입력으로 리디렉션됩니다 .grep
barrymp
그러면 메모에는 와 동일하다고 나와 있습니다 ps ax | grep "barrymp"
. mytemp
첫 번째 줄부터 동일해야 하기 때문이라고 가정합니다 . 해당 줄의 두 번째 절반도 마찬가지로 임시 파일을 건너뛰고 명령 출력을 grep 파이프로 바로 리디렉션합니다.
제가 생각할 수 있는 한 최대한 분석해 보았습니다. 여전히 불분명한 경우 알려주세요.