zsh 쉘에서 "ls > a.txt | wc" 및 "ls | wc" 출력

zsh 쉘에서 "ls > a.txt | wc" 및 "ls | wc" 출력

쉘을 사용하여 zsh및 . 누군가 이것에 대한 나의 이해를 확인할 수 있습니까?ls > a.txt | wcls | wc

첫 번째 명령에서 STDOUT명령은 연산자를 사용하고 파이프의 쓰기 끝(현재 파일을 가리키고 있음)으로 리디렉션하여 파이프에서 읽으므로 다음과 동일한 효과를 생성합니다.a.txt>STDOUTwcls | wc

하지만 여기서 의심스러운 점은 동일한 출력을 봤기 때문에 ls의 출력이 파이프에 기록되고 있다는 뜻이라는 것입니다 a.txt(파일을 확인했습니다). 출력을 두 가지 모두에 기록해야 하는 이유는 ls파일 설명자를 실행할 때 STDOUT파이프나 파일의 쓰기 끝을 가리키므로 두 가지 모두에서 출력을 얻을 수 없기 때문입니다.

내가 2개의 파일이 있는 디렉토리에 있다고 가정해 보겠습니다 a.txt.sample.txt

  1. 위의 두 명령을 실행하면 출력이 제공됩니다.2 2 17

  2. a.txt포함하다

a.txt 

sample.txt

관련 정보