gzip 후에 tar를 묶는 것은 불가능한가요?

keeproll의 이미지

안녕하세요?

보통 파일을 압축해서 저장할때

tar zcvf 를 많이 사용하는데

이것은 지정된 디렉토리 또는 파일들을 전체 TAR로 묶은 후에
묶여진 tar 파일 하나를 gzip으로 압축하는 것이자나요??

그런데 ,,,,

그 반대로 하는 것은 불가능한가요?

각 파일들을 먼저 gzip으로 압축하고 나서
그렇게 압축된 .gz 파일들을 tar로 묶는 것이지요...

tar가 단순히 여러 파일들을 묶는 역할만 한다면
gzip -c *.DAT > tartest.tar

이런식으로 해봤지만, 이렇게 만들어진 tar 파일을 풀려고 하면
tar: This does not look like a tar archive
tar: Skipping to next header

gzip: stdin: invalid compressed data--crc error

gzip: stdin: invalid compressed data--length error
tar: Child returned status 1
tar: Error exit delayed from previous errors

이렇게 tar archive가 아니라고 하네요...

Shell Script를 만들지 않고 그냥 command에서 저런것이 가능할까요??

익명 사용자의 이미지

우선 '>'를 이용해서 파일은 만든다고 tar 파일은 아닙니다.
tar 파일 안에는 각각의 파일에 관한 정보도 같이 포함되기 때문입니다.

테스트는 안해봤지만.. 대충 아래와 같이 하면 되지 않을까 합니다.

gzip -c *.DAT | tar -cf tartest.tar -T -

안해봤습니다...

익명 사용자의 이미지

그리고.. > 를 사용하면.. gzip이 stdout으로 출력하는 내용만 보냅니다.

익명 사용자의 이미지