tar는 실제로 파일을 압축하거나 함께 그룹화합니까?


37

나는 보통 tar압축 유틸리티 라고 생각 했지만 실제로 파일을 압축합니까, 아니면 파일을 보관할 파일 인 ISO 파일과 같은 것입니까?


답변:


49

Tar은 보관 도구 (Tape ARchive)이며 파일과 메타 데이터 만 함께 수집하여 하나의 파일을 생성합니다. 나중에 해당 파일을 압축하려면 gzip / bzip2 / xz를 사용할 수 있습니다. 편의상 tar는 아카이브를 자동으로 압축하는 인수를 제공합니다. 자세한 내용 은 tar 매뉴얼 페이지 를 확인하십시오.


9
대답에 대한 약간의 설명. 추가 압축 인수를 제공하는 것은 GNU tar입니다. 예를 들어, Solaris tar는 압축에 대한 인수를 제공하지 않습니다.
Tero Kilkanen

5
oooh, 그게 내가 계속 보는 이유thing.tar.7z
Mooing Duck

BSD tar는 압축에 대한 인수도 제공하지만 z확장자에 따라 압축 방법 만 허용 하고 결정하지만 GNU tar에는 zZjJ다른 압축 방법에 대한 별도의 인수가 있습니다.
wingedsubmariner

2
BSD tar 맨 페이지를 읽으면 실수로 밝혀졌습니다 .BSD tar는 zZjJGNU tar와 마찬가지로 압축을 위해 별도의 것을 사용합니다 . 그러나 압축을 풀 때 압축을 자동으로 감지하지만 GNU tar도 압축을 감지 zZjJ합니다.
wingedsubmariner

5
@wingedsubmariner : 아니오; 최신 버전의 GNU 옵션 tar-zZjJ옵션 없이 자동 압축 해제됩니다 .
Jonathan Leffler

17

tar아카이브를 생성합니다. 압축은 별도의 기능입니다. 그러나 tar 파일 시스템의 클러스터 크기보다 작은 많은 수의 작은 파일에서 사용될 경우 공간 사용을 줄일 수 있습니다. 파일 시스템이 1kb 클러스터를 사용하는 경우 단일 바이트를 포함하는 파일조차도 1kb (및 inode)를 소비합니다. tar아카이브는 이러한 오버 헤드를 가지고 있지 않습니다.

BTW, ISO 파일은 실제로 "파일을 보관할 파일"이 아닙니다. 실제로 전체 파일 시스템 (원래 CD에서 사용하도록 설계된 파일 시스템)의 이미지이므로 구조가 훨씬 더 복잡합니다.


3
실제로 파일은 1kb를 소비하지 않습니다. 1-1023 바이트 파일입니다.
psusi

@psusi 따라서 1-1023 바이트의 파일은 항상 1024를 소비하므로 1023-1 바이트의 낭비가 발생합니다.
Shiplu Mokaddim

2

원래 UNIX tar 명령은 아카이브를 압축하지 않았습니다. 주석에서 언급했듯이 Solaris tar는 압축되지 않습니다. HP-UX 나 AIX, FWIW도 마찬가지입니다. 일반적으로 압축되지 않은 아카이브는로 끝납니다 .tar.

GNU / Linux를 사용하면 GNU tar를 얻을 수 있습니다. (다른 UNIX 시스템에 GNU tar를 설치할 수 있습니다.) 기본적으로 압축되지 않습니다. 그러나, 그것은 않는 사용자가 제공하는 경우 (또한 GNU에 의해) gzip으로 결과 아카이브를 압축 -z. gzip으로 압축 된 파일의 일반적인 접미사는 .gz이므로으로 끝나는 tarball (tar 아카이브의 경우 일반적으로 압축되었음을 나타냄)이 종종 나타납니다 .tar.gz. 그 결말은 tar가 실행되고 gzip이 뒤따른다는 것을 의미합니다 tar cf - .|gzip -9v > archive.tar.gz. 또한로 끝나는 아카이브도 있습니다 ( .tgz예 :) tar czf archive.tgz ..

편집 : www.linfo.org/tar.html 은 GNU tar가 gzip으로 압축하는 것보다 훨씬 더 많은 기능을 지원한다는 것을 상기 시켰고 접미사는 단순한 규칙 이상의 것임을 상기시켜주었습니다. 그것들은 내장 된 의미론을 가지고 있습니다. 또한 bzip2 ( -jfor .bz2) 및 이전 압축 ( -Zfor .Z) 도 지원합니다 . 그런 다음 매뉴얼 페이지를보고 -a접미사를 기반으로 원하는 압축 방법 을 자동으로 매핑 한다는 것을 상기 시켰습니다 .

다른 니트. Linux tar 매뉴얼 페이지에서 알 수 있듯이 GNU는 매뉴얼 페이지가 아닌 정보 페이지를 생성하므로 GNU tar에 대한 모든 정보를 보려면 run을 실행하십시오 info tar.


GNU tar는 여전히 압축을 자체적으로 처리하지 않고 gzip, bzip2, compress 등으로 파이프를 연결합니다.
ott--

나는 출처를 보았다 . GNU tar는 압축을 처리합니다! 이 구현은 코드 재사용과 UNIX 사용자 공간 아키텍처 원칙을 활용합니다. "파이프 만"은 압축이 공구에 긴밀하게 통합되는 방식을 과소 평가하고 있습니다. 그것이 도우미 프로그램을 포크한다는 사실은 기술입니다. "파이프 만"을 방어하려면 파일 이름과 줄 번호를 인용하고 커뮤니티가 어느 쪽을 차지하는지 봅시다.
tbc0

그 출처를 확인하려면 며칠이 걸립니다.
ott--

1

tar 유틸리티는 [tar -z 파일 이름]에 대한 인수를 제공 할 때까지 압축하지 않습니다.

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