일반적인 tar 명령
tar cvf foo.tar ./foo >foo.out 2>foo.err
세 개의 출력 IO 스트림이 있습니다
- foo.tar에 데이터 아카이브
- STDOUT에 파일 이름 목록 (foo.out으로 리디렉션 됨)
- STDERR에 대한 오류 메시지 (foo.err로 경로 재 지정)
그런 다음 파일 이름 목록을 읽을 필요없이 foo.err에서 오류 메시지를 검사 할 수 있습니다.
아카이브 데이터로 무언가를하고 싶다면 (netcat 또는 특수 압축 프로그램을 통해 파이프하십시오) tar -f -
옵션을 사용할 수 있습니다
tar cvf - ./foo 2>foo.err | squish > foo.tar.S
그러나 tar의 -v
출력이 분명히 STDOUT (아카이브 데이터가 흐르는 곳)으로 갈 수 없기 때문에 tar 는 파일을 STDERR에 영리하게 씁니다.
Korn 쉘을 사용하면 아카이브 스트림을 다른 명령으로 파이프하지만 여전히 -v
오류 메시지와 별도로 출력을 캡처하는 명령을 구성하는 방법이 있습니다 .
tee
하십니까? 이것은 꽤 유효한 유스 케이스처럼 보입니다.