tar는 실제로 파일을 압축합니까, 아니면 그룹화합니까?

보통 tar가 압축 유틸리티라고 가정했지만 확실하지 않습니다. 실제로 파일을 압축합니까? 아니면 ISO 파일, 파일을 보관하는 파일과 같은가요?

댓글

Answer

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

댓글

  • 약간 답변에 대한 설명. 이러한 추가 압축 인수를 제공하는 것은 GNU tar입니다. 예를 들어 Solaris tar는 압축에 대한 인수를 제공하지 않습니다.
  • 오, '이 thing.tar.7z
  • BSD tar는 압축에 대한 인수도 제공하지만 z 만 허용하고 확장자에 따라 압축 방법을 결정하지만 GNU tar에는 별도의 zZjJ 다른 압축 방법에 대한 인수입니다.
  • BSD tar 맨 페이지를 읽어 보면 제가 착각 한 것으로 나타났습니다. BSD tar는 별도의 GNU tar와 같이 압축합니다. 그러나 압축을 풀 때 자동으로 압축을 감지하지만 GNU tar는 zZjJ도 예상합니다.
  • @wingedsubmariner : no; 최신 버전의 GNU tar-zZjJ 옵션없이 자동으로 압축이 풀립니다.

Answer

tar는 아카이브를 생성합니다. 압축은 별도의 기능입니다. 그러나 tar만으로도 파일 시스템의 클러스터 크기보다 작은 많은 수의 작은 파일에 사용할 경우 공간 사용량을 줄일 수 있습니다. 파일 시스템이 1kb를 사용하는 경우 단일 바이트를 포함하는 파일도 1kb (inode 포함)를 사용합니다. tar 아카이브에는이 오버 헤드가 없습니다.

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

Comments

  • 실제로 파일은 1KB를 소비하지 않습니다. 1-1023 바이트 파일이됩니다.
  • @psusi 따라서 1-1023 바이트 파일의 경우 항상 1024를 소비하므로 1023-1 바이트가 낭비됩니다.

답변

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

GNU / Linux를 사용하면 GNU tar를 얻을 수 있습니다. (다른 UNIX 시스템에 GNU tar를 설치할 수 있습니다.) 기본적으로 압축되지 않지만 결과 아카이브를 gzip으로 압축 합니다 (또한 GNU) -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으로 압축하는 것보다 훨씬 더 많은 기능을 지원한다는 것을 상기 시켰고 접미사는 평범한 관습 이상이라는 것을 상기 시켰습니다. 기본 제공 의미가 있습니다. 또한 .bz2의 경우 bzip2 (-j) 및 iv의 경우 이전 압축 (-Z)도 지원합니다. id = “0ecdb62935″>

). 그런 다음 맨 페이지를보고 -a가 접미사를 기반으로 원하는 압축 방법을 자동으로 매핑한다는 사실을 상기했습니다.

다른 하나. Linux tar man 페이지에 나와 있듯이 GNU는 man 페이지가 아닌 정보 페이지를 생성하므로 GNU tar에 대한 모든 것을 배우려면 info tar를 실행하십시오.

Comments

  • GNU tar는 여전히 ' 그 자체로 압축을 처리하지 않으며 gzip, bzip2, 압축 등으로 파이프를 연결합니다.
  • 출처 를 살펴 보았습니다. GNU tar는 압축을 처리합니다! 이 구현은 코드 재사용 및 건전한 UNIX 사용자 공간 아키텍처 원칙을 활용합니다. " 단지 파이프 "는 압축이 도구에 긴밀하게 통합되는 방식을 과소 평가하고 있습니다.헬퍼 프로그램을 포크하는 것은 전문적입니다. " 파이프 만 방어하려면 " 파일 이름과 줄 번호를 인용하고 '는 커뮤니티가 어느 편을 택하는지 확인합니다.
  • 소스를 확인하려면 며칠이 걸립니다.

답변

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

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다