.tar.gz와 .gz 또는 .tar.7z와 .7z의 차이점은 무엇입니까?


158

최근에, 나는 나의 많은 데이터를 백업 있었고, 난으로 파일을 저장할 수 있습니다 것으로 나타났습니다 .gz하거나 .tar.gz, 또는 .7z.tar.7z등등. 정상적인 것과 .tar.*변형 의 차이점은 무엇입니까 ? 백업 할 때 어느 것이 좋습니다?

답변:


183

Windows 배경에서 온 경우 zip 및 rar 형식에 익숙 할 수 있습니다. 이들은 여러 파일을 함께 압축 한 아카이브입니다.

Ubuntu와 같은 Unix 및 Unix 계열 시스템에서는 보관 및 압축이 분리되어 있습니다.

tar 여러 파일을 단일 (tar) 파일에 넣습니다.

gzip 하나의 파일을 압축합니다 (전용).

따라서 압축 된 아카이브를 얻으려면 두 가지를 결합 tar하거나 먼저 pax모든 파일을 단일 파일 (archive.tar)로 가져온 다음 파일 (archive.tar.gz)로 가져옵니다 gzip. 압축해야하는 파일이 하나만 있으면 (notes.txt) tar가 필요하지 않으므로을 수행 gzip notes.txt하면됩니다 notes.txt.gz. 거기 같은 다른 압축 유형이다 compress, bzip2xz(이격 물론 압축의 종류를 사용), GZIP와 동일한 방식으로 작동되는


6
이해가 되겠지만 .7z여러 파일 로 아카이브를 만들 수 있고 여러 파일 로 아카이브를 만들 수있는 이유는 .tar.7z무엇입니까?
Exeleration-G

3
@ Exeleration-G 7zip은이 체계를 따르지 않습니다. zip 및 rar와 비슷합니다. 7zip을 함께 사용하지 않았으므로 tar를 7zip과 함께 사용하는 것이 무엇인지 확실하지 않습니다.
geirha

42
@ Exeleration-G 다른 답변을 읽은 후 SaultDon이이 답변에 응답합니다. 7zip은 아카이브 파일의 유닉스 소유권과 권한을 저장하지 않으므로 (주로 zip 및 rar와 같이 Windows를 대상으로하는 것으로 보입니다) 소유권과 권한을 유지하기 위해 tar와 결합하는 것이 좋습니다.
geirha

@geirha 적절한 답변을 찾으면 해결 된 것으로 표시하십시오.
Ravi

1
내 경험상 7z는 압축보다 압축에서 훨씬 낫습니다. 테스트했을 때 40 % 추가로 절약되었습니다
Eoin

49

그것은 당신이 찾고있는 것에 달려 있습니다 ... 압축 또는 보관?

보관에 대해 이야기 할 때 권한, 디렉토리 구조 등을 보존한다는 의미입니다.

압축은 대부분을 무시하고 파일을 더 작은 패키지로 가져올 수 있습니다.

파일 권한을 유지하려면 tar를 사용하십시오.

tar cpvf backup.tar folder

p 플래그는 파일 권한을 저장합니다. gzip 압축에는 z 플래그를, bzip 압축에는 j 플래그를 사용하십시오.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

tar 파일을 원한다면 P 플래그를 사용하여 tar를 "업데이트"할 수 있습니다.

tar cpPvf backup.tar folder

그런 다음 업데이트하려면 'c'를 'u'로 바꾸고 압축을 풀 때 'k'를 사용하여 이미 존재하는 파일을 보존하십시오.

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

P 플래그는 파일을 전체 경로로 저장하므로 / home / username vs home / username (앞 슬래시에 주목).

7z 압축은 더 큰 압축을 제공하지만 파일 소유권, 권한 등은 보존하지 않습니다. Rzip은 7z와 비슷한 압축을 제공하는 또 다른 압축 유틸리티입니다.

backup.tar.7z 파일은 7z 파일로 압축 된 tar 파일 (권한이있는) 파일 일 것입니다. 7z는 파일 메타 데이터를 제외하여 (물론 다른 것들 중에서도) 큰 압축을 제공 할 수 있습니다.

압축은 전적으로 데이터 유형에 달려 있습니다. 일부 파일은 다른 방법 (예 : .mp3, .jpg, .tiff / with lzma, .rpm 등)으로 이미 압축되어 있기 때문에 압축이 잘되지 않습니다.


11

gzip 또는 bzip2는 file system파일 이름, 디렉토리 또는 트리 구조에 대해 알지 못합니다 . 입력 스트림을 압축 한 다음 결과를 출력합니다. gzip 또는 bzip2조차도 자체적으로 디렉토리를 아카이브 할 수 없으므로 일반적으로 tar와 결합됩니다.

tar (archiver)-파일 구조 만 보관합니다. gzip, bzip2 (압축기)-입력을 압축하십시오.

이 전략은 유닉스 철학의 '한 가지 일을 잘하라'는 것이라 생각합니다 . 타르가 잘 작동합니까? 그대로 두십시오. gzip보다 더 많은 압축 비율이 필요하십니까? 여기 bzip2 또는 7zip이 있습니다.


실제로 7zip은 zip 또는 rar와 같이 아카이브 할 수 있습니다.
Mait

8

tar의 압축 스타일이 다르기 때문에 tar 만 압축됩니다 (압축이 거의 없음). tar.gz는 tar 아카이브이지만 내용은 gzip (보통 압축)으로 압축되므로 .gz 및 tar.7z는 7zip (보통 초고 압축)을 사용하여 압축됩니다.

백업 할 때 tar.7z는 압축률이 가장 높지만 추가 프로그램 (7zip)을 사용하므로 tar를 권장합니다. .tar.gz는 더 큰 파일이며 동일한 작업을 수행합니다 .gzip 또는 7zip을 사용할 때 bzip (.tar.bz / bz2)을 사용할 수도 있습니다.


4

일반적으로 * .tar 파일은 tar 프로그램으로 작성된 tar 파일이고 * .gz 프로그램은 gzip으로 작성되며 * .tar.gz (일부 * .tgz)는 gzip으로 압축 된 tar 파일이며 * .7z는 7zip으로 작성됩니다.

그러나 Linux / Unix에서는 원하는대로 파일 이름을 지정할 수 있으므로 파일 작성자의 재량에 달려 있습니다.


3

Tar (Tape Archiver)은 전통적으로 Unix / Linux의 컨테이너로 사용되어 파일을 이동시킵니다. 파일 구조를 패키지화하고 파일 속성을 유지하지만 파일을 압축하지는 않습니다.

압축 프로그램은 파일을 작게 만들기 위해 파일을 압축하지만 여러 파일을 처리하지 않거나 Linux에 필요한 파일 속성을 처리하지 못할 수 있습니다. tar가 이미 존재하고 잘 지원되므로, 프로그램을 아카이빙하여 플랫폼 별 (Windows 및 Linux와 다른)이 기능을 복제 할 이유가 없습니다. 또한, 다른 압축 프로그램은 다른 유형의 파일에서 다르게 수행 될 수 있으므로 둘 이상의 선택이 바람직합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.