dd if=/dev/sdb | pig ZC | tee /sdb.img.gz가 콘솔에 인쇄되는 이유는 무엇입니까?

dd if=/dev/sdb | pig ZC | tee /sdb.img.gz가 콘솔에 인쇄되는 이유는 무엇입니까?

이 명령 sudo dd if=/dev/sdb | pigz -c | sudo tee /sdb.img.gz( sudo제목에서는 생략됨)은 바이너리 데이터를 콘솔이나 dd출력에 인쇄합니다 pigz. 왜 모든 출력이 파이프에 캡처되고 |체인의 마지막 출력이 파일로 리디렉션되는지 궁금합니다. 따라서 표준 출력은 "누출"되지 않습니다. 내가 여기서 얻지 못하는 것은 무엇입니까?

저는 bash제공된 명령 버전과 함께 제공되는 Ubuntu 20.04를 사용하고 있습니다.

답변1

tee 중복(귀하의 경우) 표준 출력으로 전송되는 입력입니다 /sdb.img.gz. 콘솔에 출력이 표시되지 않도록 출력을 리디렉션할 수 있습니다.

sudo dd if=/dev/sdb | pigz -c | sudo tee /sdb.img.gz > /dev/null

나는 pigz루트로 직접 실행하고 다음을 사용하지 않을 것 dd입니다 tee.

sudo sh -c 'pigz -c < /dev/sdb > /sdb.img.gz'

답변2

tee 파일 및 stdout으로 인쇄합니다. cat원하지 않으면 stdout을 사용하거나 간단히 리디렉션하세요.

관련 정보