이 명령 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을 사용하거나 간단히 리디렉션하세요.