이 명령줄의 기능은 무엇입니까?

이 명령줄의 기능은 무엇입니까?

제가 이해할 수 있는 방식으로 설명해주세요:

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 | moremytempps axmore

두 번째 줄:

cat mytemp | grep barrymp

stdout으로 호출된 파일의 내용을 인쇄한 다음 출력을 필터링하기 위해 제공된 명령 mytemp에 대한 표준 입력으로 리디렉션됩니다 .grepbarrymp

그러면 메모에는 와 동일하다고 나와 있습니다 ps ax | grep "barrymp". mytemp첫 번째 줄부터 동일해야 하기 때문이라고 가정합니다 . 해당 줄의 두 번째 절반도 마찬가지로 임시 파일을 건너뛰고 명령 출력을 grep 파이프로 바로 리디렉션합니다.

제가 생각할 수 있는 한 최대한 분석해 보았습니다. 여전히 불분명한 경우 알려주세요.

관련 정보