aspose.info
KO

TAR - Unix 아카이브 파일 형식

업데이트

.TAR 파일이란?

확장자가 .tar인 파일은 하나 이상의 파일을 수집하기 위해 Unix 기반 유틸리티로 만든 아카이브입니다. 아카이브에 파일 및 폴더 추가를 지원하여 여러 파일이 압축되지 않은 형식으로 저장됩니다. Unix의 TAR 유틸리티는 명령 기반이지만 따라서 생성된 파일은 거의 모든 운영 체제의 대부분의 파일 보관 시스템에서 지원됩니다. 1979년 AT&T Bell Laboratories에서 처음 만들어졌으며 시간이 지남에 따라 후속 버전이 출판되었습니다.

TAR 파일 형식

TAR은 개발자가 참조할 수 있는 전체 사양이 포함된 개방형 파일 형식입니다. 파일 구조는 POSIX.1-1988 및 이후 POSIX.1-2001에서 표준화되었습니다. tar에 의해 생성된 데이터 세트는 다음과 같은 파일 시스템 매개변수에 대한 정보를 유지합니다.

  • 이름
  • 타임스탬프
  • 소유권
  • 파일 접근 권한
  • 디렉토리 구성

Tar 파일에는 매직 넘버가 없습니다. 여기에는 각 블록이 BLOCKSIZE 바이트인 일련의 블록이 포함됩니다.

아카이브된 각 파일은 파일을 설명하는 헤더 블록으로 표시되고 그 뒤에 파일 내용을 제공하는 0개 이상의 블록이 표시됩니다. 아카이브 파일의 끝에는 파일 끝 마커로 이진 0으로 채워진 두 개의 512바이트 블록이 있습니다. 합리적인 시스템은 아카이브의 끝에 그러한 파일 끝 마커를 작성해야 하지만 아카이브를 읽을 때 그러한 블록이 존재한다고 가정해서는 안 됩니다. 특히 GNU tar는 경고가 발생하지 않으면 항상 경고를 발행합니다.

블록은 물리적 I/O 작업을 위해 차단될 수 있습니다. n 블록의 각 레코드(여기서 n은 tar에 대한 blocking-factor = 512-size 옵션으로 설정됨)는 단일 “write()” 작업으로 작성됩니다. 자기 테이프에서 이러한 쓰기의 결과는 단일 레코드입니다. 아카이브를 작성할 때 블록의 마지막 레코드는 전체 크기로 작성되어야 하며 0 블록 이후의 블록은 모두 0을 포함해야 합니다. 아카이브를 읽을 때 합리적인 시스템은 마지막 레코드가 나머지보다 짧거나 0 블록 뒤에 가비지 레코드가 포함된 아카이브를 적절하게 처리해야 합니다.

타르 헤더

다른 파일 헤더와 마찬가지로 tar 파일 헤더 레코드에는 파일에 대한 메타데이터가 포함되어 있으며 다음 표에 나와 있습니다.

필드 오프셋필드 크기(바이트)필드
0100파일 이름
1008파일 모드
1088소유자의 숫자 사용자 ID
1168그룹의 숫자 사용자 ID
12412바이트 단위의 파일 크기(8진수)
13612숫자 Unix 시간 형식(8진수)의 마지막 수정 시간
1488헤더 레코드의 체크섬
1561링크 표시기(파일 형식)
157100링크된 파일의 이름

사용되지 않는 필드는 NUL 바이트로 채워집니다. 헤더는 512바이트 레코드로 채우기 위해 NUL 바이트로 채워진 257바이트로 구성됩니다.

참조

함께 보기