다른 모든 유형의 .tar 아카이브와의 차이점은 무엇입니까?


16

누구든지 너무 많은 아카이브가 무엇이고 어떻게 다른지 말해 줄 수 있습니까?

내가 생각할 수있는 최소한 5가있어, .tar.tz, .tar.gz, .tar.bz2, .tar.lz,.tar.z

어떤 응용 프로그램에 가장 적합한가요? 동일한 파일을 너무 많이 변형하는 것은 어리석은 것처럼 보이지만 이유가 있다고 확신합니다.

답변:


18

.gz, .xz, .bz2, .7z, .lz, .z접미사는 파일이 말했다 압축 알고리즘으로 압축되는 것을 명확하게하는 데 사용됩니다. 사용은 .tar파일로 제한되지 않으며 initrd.gz(압축 초기 램 디스크) 또는 manual.txt.gz(압축 텍스트 문서 용 ) 과 같은 파일도 볼 수 있습니다 . 또한 file.tgzgzip으로 압축 된 타르볼 (예 :)을 나타내는 것이 표시 될 수도 있습니다 file.tar.gz.

파일 확장자는 규칙이며 반드시 파일 내용을 설명 할 필요는 없습니다. 처리중인 파일 종류를 확인하려면 file명령을 사용하십시오 . 예:

$ file data.tar.gz
data.tar.gz: gzip compressed data, from Unix
$ gunzip -c data.tar.gz | file -
/dev/stdin: POSIX tar archive (GNU)

내 경험상 gzip 압축 파일 ( .gz)이 가장 일반적입니다. 더 나은 압축률을 제공하는 다른 알고리즘이 있지만 압축 및 압축 해제가 빠릅니다.


8

@ Lekensteyn 답변 외에도이 행동은 다음을 기반으로한다고 덧붙이고 싶습니다. 한 가지 작업을 하고 철학 을 잘tar 프로그램은 여러 파일을 단일 스트림 ( .tar확장 포함) 에 넣는 gzip방법을 알고 압축 방법을 알고 있습니다 단일 파일 ( .gz확장자 추가 ) *. 이러한 도구를 결합하면 여러 파일을 단일 .tag.gz파일 로 압축하는 명령을 작성할 수 있습니다 .

이 접근 방식은 매우 유연합니다. 표준 유닉스 명령어 몇 개를 결합하여 모든 종류의 작업을 수행 할 수 있습니다. 예를 들어, 파일을 압축하기 위해 더 나은 프로그램을 작성하는 경우 파일 tar을 작성하기 위해 .tar.mymegazip파일 을 수정 하기 위해 수정할 필요가 없습니다. 대신 tar컴프레서를 출력합니다.

마찬가지로 tarSSH에 대해서는 아무것도 알지 못하지만 명령을 결합하여 파일을 보관하고 SSH를 통해 원격 시스템에 파일을 업로드하고 보관하지 않는 스크립트를 작성할 수 있습니다.

이것을 다음과 비교하십시오 zip 유닉스에서 시작되지 않은 명령과 -전체 디렉토리를 압축하고 파일을 암호화하며 아카이브를 더 작은 zip 파일로 나누는 도구가 내장되어 있습니다.


(각주)-예. 및 스위치를 tar사용하여 파일 자체를 압축 하거나 압축 할 수 있으며 편의를 위해 추가되었으며 GNU tar는 실제로 생성 되거나 새로운 프로세스입니다.-z-jgzipbzip2


예 : 명령 tar c dir/ | gzip > dir.tar.gztar czf dir.tar.gz dir/명령이 동일한 작업을 수행합니다. 예 tarSSH와 결합된다 tar(다시)는 : tar cz Documents/ | ssh user@host 'tar xz(rsync와 동등한 것 : rsync -a Documents user@host:)
Lekensteyn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.