TAR(5) File Formats Manual TAR(5) (NAME) tar - (Tape Archive) (DESCRIPTION) tar ( ) . . (General Format) tar . ( ) . . tar / (I/O) . "" . . ( ) . (: "" "" John Gilmore pdtar .) (Old-Style Archive Format) tar . tar Version 7 AT&T UNIX tar . tar : struct header_old_tar { char name[100]; char mode[8]; char uid[8]; char gid[8]; char size[12]; char mtime[12]; char checksum[8]; char linkflag[1]; char linkname[100]; char pad[255]; }; (null) . name (null-terminated). tar ( ) . "/" . mode (mode) () . uid, gid . size . . tar . . mtime . (Epoch) 00:00:00 UTC . . checksum (checksum) . (unsigned) . . tar . . linkflag, linkname . linkflag `1' linkname . ( linkflag .) tar . tar Version 7 AT&T UNIX ( BSD ): mode uid gid size mtime . (leading spaces) . IEEE Std 1003.1-1988 ("POSIX.1") . . (Pre- POSIX Archives) IEEE Std 1003.1-1988 ("POSIX.1") pdtar John Gilmore . POSIX ustar : o (magic) "ustar" . (version) . o ( ). o (prefix) . POSIX ustar (POSIX ustar Archives) IEEE Std 1003.1-1988 ("POSIX.1") tar tar(1) . "ustar" . ( "Unix Standard TAR" .) : struct header_posix_ustar { char name[100]; char mode[8]; char uid[8]; char gid[8]; char size[12]; char mtime[12]; char checksum[8]; char typeflag[1]; char linkname[100]; char magic[6]; char version[2]; char uname[32]; char gname[32]; char devmajor[8]; char devminor[8]; char prefix[155]; char pad[12]; }; typeflag . POSIX linkflag : "0" . NUL . "1" . "2" . "3" . "4" . "5" . "6" FIFO ( ). "7" . Other POSIX typeflag . . "A" "Z" . (sockets) whiteout . size . . . . magic "ustar" NUL POSIX . uname gname . version . POSIX "00" ( ) . uname, gname . uid/gid . devmajor, devminor (major) (minor) . name, prefix / prefix . prefix prefix / . / . NUL . POSIX . magic, uname gname NUL . pathname, linkname prefix NUL . ( / .) POSIX NUL . tar ustar . (Numeric Extensions) . . size NUL . . GNU tar star tar () . . (twos-complement) . uid gid . . GNU tar length mtime ctime atime . star Joerg Schilling libarchive . pax . GNU base-64 . . (Pax Interchange Format) POSIX ustar . IEEE Std 1003.1-2001 ("POSIX.1") " pax" . pax ustar . ustar typeflag "x" "g" . . pax ustar . . typeflag "x" size . UTF-8 . () (key) (value) . . : 25 ctime=1084839148.1212\n . . . : atime, ctime, mtime (inode) . . hdrcharset pax. pax UTF-8 . UTF-8 . "BINARY" . : "BINARY" "ISO-IR 10646 2000 UTF-8". . . uname, uid, gname, gid UID GID. UTF-8 . UID GID . linkpath . UTF-8 . path . UTF-8 . realtime.*, security.* . size . . SCHILY.* star Joerg Schilling . SCHILY.acl.access, SCHILY.acl.default, SCHILY.acl.ace ACL NFSv4 POSIX.1e . UID GID . ACL ( NIS/YP LDAP ) . SCHILY.devminor, SCHILY.devmajor . SCHILY.fflags (File flags). SCHILY.realsize . SCHILY.dev, SCHILY.ino, SCHILY.nlinks . pax SCHILY.* Joerg Schilling struct stat . LIBARCHIVE.* libarchive . LIBARCHIVE.creationtime . ( POSIX "ctime" .) LIBARCHIVE.xattr.namespace.key libarchive POSIX.1e . key URL (URL- encoded): "=" "%" "%" . base 64 . VENDOR.* . tar . . . . . UTF-8 . ustar . x pax g . g . g . x g, pax ustar . . . size . (GNU Tar Archives) GNU tar : ( POSIX ) ( x x, GNU ). GNU tar POSIX POSIX GNU tar . struct header_gnu_tar { char name[100]; char mode[8]; char uid[8]; char gid[8]; char size[12]; char mtime[12]; char checksum[8]; char typeflag[1]; char linkname[100]; char magic[6]; char version[2]; char uname[32]; char gname[32]; char devmajor[8]; char devminor[8]; char atime[12]; char ctime[12]; char offset[12]; char longnames[4]; char unused[1]; struct { char offset[12]; char numbytes[12]; } sparse[4]; char isextended[1]; char realsize[12]; char pad[17]; }; typeflag GNU tar POSIX : 7 GNU tar "7" "0" (RTOS) . D . typeflag "5" POSIX . "Y" "N" . . . typeflag "D" POSIX typeflag . "D" . K linkname . L (pathname) . M . GNU . . "M" . ( ). size . offset - . realsize ( size offset ). GNU tar realsize . N "N" GNU tar . . "Rename %s to %s\n" "Symlink %s to %s\n " C K&R . "N" . S " (sparse)" . . / . " (extra)" ( ) " (sparse)" . V name / . . magic magic "ustar" . POSIX ustar . version version . POSIX ustar "0" . atime, ctime mtime. longnames . Sparse offset / numbytes (sparse) . . (pad) . ( ) . isextended " (sparse header)" . : struct gnu_sparse_header { struct { char offset[12]; char numbytes[12]; } sparse[21]; char isextended[1]; char padding[7]; }; realsize POSIX. M, . POSIX realsize . pax (GNU tar pax archives) GNU tar . --posix, pax . pax SCHILY . "0.0", "0.1" "1.0" . GNU.sparse.numblocks, GNU.sparse.offset, GNU.sparse.numbytes, GNU.sparse.size "0.0" GNU.sparse.numblocks GNU.sparse.offset GNU.sparse.numbytes GNU.sparse.size . tar . . GNU.sparse.map "0.1" . . pax . GNU.sparse.major, GNU.sparse.minor, GNU.sparse.name, GNU.sparse.realsize "1.0" . pax ( GNU.sparse.major GNU.sparse.minor) . GNU.sparse.name . tar . (Solaris Tar) Solaris tar ( SunOS 5.7 ) "" pax : o X x pax . x . o A (ACL) . ACL . ACL ACL : 01000000 ACL POSIX.1e 03000000 ACL NFSv4. (AIX Tar) AIX Tar ustar A ACL . AIX tar . NFS4 AIXC ACL . ACL . (Mac OS X Tar) tar Mac OS X tar . "._" . AppleDouble ACL . copyfile() Mac OS X . "pack" tar . . . tar (Summary of tar type codes) tar tar . : NUL tar . 0 POSIX . 1 POSIX . 2 POSIX . 3 POSIX . 4 POSIX . 5 POSIX . 6 POSIX FIFO ( ). 7 POSIX. 7 GNU tar . A ACL Solaris tar . A ACL AIX tar . D GNU tar. K (linkname) GNU tar . L (pathname) GNU tar . M GNU tar . N GNU tar. . S (sparse) GNU tar. V / GNU tar. X Solaris tar. g pax POSIX. x pax POSIX. (SEE ALSO) ar(1), pax(1), tar(1) (STANDARDS) tar POSIX Single Unix Standard . Version 2 of the Single UNIX Specification ("SUSv2") . pax(1) . ustar pax(1) . pax IEEE Std 1003.1-2001 ("POSIX.1") . (HISTORY) tar (Seventh Edition Unix) . tp tap . pdtar John Gilmore ( ) GNU tar ( ) . star Joerg Schilling ( CDDL ) pax . libarchive bsdtar Tim Kientzle . Linux 6.12.107+deb13-amd64 December 27, 2016 Linux 6.12.107+deb13-amd64