Unix/Linux Go Back    

BSD 2.11 - man page for tar (bsd section 5)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

TAR(5)											   TAR(5)

       tar - tape archive file format

       Tar,  (the  tape  archive  command) dumps several files into one, in a medium suitable for

       A ``tar tape'' or file is a series of blocks.  Each block is of size TBLOCK.   A  file  on
       the  tape  is  represented by a header block which describes the file, followed by zero or
       more blocks which give the contents of the file.  At the end of the tape  are  two  blocks
       filled with binary zeros, as an end-of-file indicator.

       The  blocks  are  grouped for physical I/O operations.  Each group of n blocks (where n is
       set by the b keyletter on the tar(1) command line -- default is 20 blocks) is written with
       a  single  system  call;  on  nine-track  tapes, the result of this write is a single tape
       record.	The last group is always written at the full size, so blocks after the	two  zero
       blocks  contain	random data.  On reading, the specified or default group size is used for
       the first read, but if that read returns less than a full tape block,  the  reduced  block
       size is used for further reads.

       The header block looks like:

	      #define TBLOCK 512
	      #define NAMSIZ 100

	      union hblock {
		   char dummy[TBLOCK];
		   struct header {
			char name[NAMSIZ];
			char mode[8];
			char uid[8];
			char gid[8];
			char size[12];
			char mtime[12];
			char chksum[8];
			char linkflag;
			char linkname[NAMSIZ];
		   } dbuf;

       Name  is  a  null-terminated  string.   The  other fields are zero-filled octal numbers in
       ASCII.  Each field (of width w) contains w-2 digits, a space, and a null, except size  and
       mtime,  which  do  not contain the trailing null and chksum which has a null followed by a
       space.  Name is the name of the file, as specified on the tar command line.  Files  dumped
       because	they  were  in a directory which was named in the command line have the directory
       name as prefix and /filename as suffix.	Mode is the file mode, with the  top  bit  masked
       off.   Uid and gid are the user and group numbers which own the file.  Size is the size of
       the file in bytes.  Links and symbolic links are dumped with this field specified as zero.
       Mtime  is the modification time of the file at the time it was dumped.  Chksum is an octal
       ASCII value which represents the sum of all the bytes in the header block.  When calculat-
       ing  the checksum, the chksum field is treated as if it were all blanks.  Linkflag is NULL
       if the file is ``normal'' or a special file, ASCII `1' if it is an hard	link,  and  ASCII
       `2' if it is a symbolic link.  The name linked-to, if any, is in linkname, with a trailing
       null.  Unused fields of the header are binary zeros (and are included in the checksum).

       The first time a given i-node number is dumped, it is dumped as a regular file.	The  sec-
       ond and subsequent times, it is dumped as a link instead.  Upon retrieval, if a link entry
       is retrieved, but not the file it was linked to, an error message is printed and the  tape
       must be manually re-scanned to retrieve the linked-to file.

       The encoding of the header is designed to be portable across machines.


       Names or linknames longer than NAMSIZ produce error reports and cannot be dumped.

4.2 Berkeley Distribution		 November 7, 1985				   TAR(5)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 01:41 PM.