diff options
Diffstat (limited to 'gnu/usr.bin/tar/tar.1')
-rw-r--r-- | gnu/usr.bin/tar/tar.1 | 573 |
1 files changed, 573 insertions, 0 deletions
diff --git a/gnu/usr.bin/tar/tar.1 b/gnu/usr.bin/tar/tar.1 new file mode 100644 index 0000000..3cc2ea7 --- /dev/null +++ b/gnu/usr.bin/tar/tar.1 @@ -0,0 +1,573 @@ +.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- +.\" See /usr/src/gnu/COPYING for conditions of redistribution +.\" +.\" Written by John F. Woods <jfw@jfwhome.funhouse.com> +.\" Updated by Robert Eckardt <roberte@mep.ruhr-uni-bochum.de> +.\" +.\" $FreeBSD$ +.\" +.Dd December 23, 2000 +.Os +.Dt TAR 1 +.Sh NAME +.Nm tar +.Nd "tape archiver; manipulate ""tar"" archive files" +.Sh SYNOPSIS +.Nm +.Op Oo Fl Oc Ns Ar bundled-options Ar Args +.Op Ar gnu-style-flags +.Op Ar filenames | Fl C Ar directory-name +.Ar ... +.Sh DESCRIPTION +.Nm Tar +is short for +.Dq tape archiver , +so named for historical reasons; the +.Nm +program creates, adds files to, or extracts files from an archive file +in +.Nm +format, called a +.Ar tarfile . +A +.Ar tarfile +is often a magnetic tape, but can be a floppy diskette or any +regular disk file. +.Pp +The first argument word of the +.Nm +command line is usually a command word of bundled function and modifier +letters, optionally preceded by a dash; +it must contain exactly one function letter from the set +.Cm A , +.Cm c , +.Cm d , +.Cm r , +.Cm t , +.Cm u , +.Cm x , +for +.Em append , +.Em create , +.Em difference , +.Em replace , +.Em table of contents , +.Em update , +and +.Em extract +(further described below). +The command word can also contain other function modifiers described below, +some of which will take arguments from the command line in the order they +are specified in the command word (review the +.Sx EXAMPLES +section). +Functions and function modifiers can also be specified +with the GNU argument convention (preceded by two dashes, one function or +modifier per word. +Command-line arguments that specify files to +add to, extract from, or list from an archive may be given as shell +pattern matching strings. +.Sh FUNCTIONS +Exactly one of the following functions must be specified. +.Pp +.Bl -tag -width "--concatenate" -compact +.It Fl A +.It Fl -catenate +.It Fl "-concatenate" +Append the contents of named file, which must itself be a +.Nm +archive, +to the end of the archive (erasing the old end-of-archive block). +This has the effect of adding the files contained in the named file to +the first archive, rather than adding the second archive as an element +of the first. +.Em Note : +This option requires a rewritable +.Ar tarfile , +and therefore does not work on quarter-inch cartridge tapes. +.It Fl c +.It Fl -create +Create a new archive (or truncates an old one) and writes the named files +to it. +.It Fl d +.It Fl -diff +.It Fl -compare +Find differences between files in the archive and corresponding files in +the file system. +.It Fl -delete +Delete named files from the archive. +(Does not work on quarter-inch tapes). +.It Fl r +.It Fl -append +Append files to the end of an archive. +(Does not work on quarter-inch tapes). +.It Fl t +.It Fl -list +List the contents of an archive; if +.Ar filename +arguments are given, only those +files are listed, otherwise the entire table of contents is listed. +.It Fl u +.It Fl -update +Append the named files if the on-disk version has a modification date +more recent than their copy in the archive (if any). +Does not work on quarter-inch tapes. +.It Fl x +.It Fl -extract +.It Fl -get +Extract files from an archive. +The owner, modification time, and file permissions are restored, if possible. +If no +.Ar file +arguments are given, extract all the files in the archive. +If a +.Ar filename +argument matches the name of a directory on the tape, that directory and +its contents are extracted (as well as all directories under that directory). +If the archive contains multiple entries corresponding to the same file +(see the +.Fl -append +command above), the last one extracted will overwrite all earlier versions. +.El +.Sh OPTIONS +The other options to +.Nm +may be combined arbitrarily; single-letter options may be bundled in with +the command word. +Verbose options which take arguments will be +followed by the argument; single-letter options will consume +successive command line arguments (see the +.Sx EXAMPLES +below). +.Pp +.Bl -tag -width "--preserve-permissions" -compact +.It Fl -help +Prints a message listing and briefly describing all the command +options to +.Nm . +.It Fl -atime-preserve +Restore the access times on files which are written to tape (note that +this will change the inode-change time!). +.It Fl b +.It Fl -block-size Ar number +Sets the block size for reading or writing to +.Ar number +* 512-byte blocks. +.It Fl B +.It Fl -read-full-blocks +Re-assemble short reads into full blocks (for reading +.Bx 4.2 +pipes). +.It Fl C Ar directory +.It Fl -directory Ar directory +Change to +.Ar directory +before processing the remaining arguments. +.It Fl -checkpoint +Print number of buffer reads/writes while reading/writing the archive. +.It Fl f Xo +.Oo Ar hostname : Oc Ns Ar file +.Xc +.It Fl -file Xo +.Oo Ar hostname : Oc Ns Ar file +.Xc +Read or write the specified +.Ar file +(default is +.Pa /dev/sa0 ) . +If a +.Ar hostname +is specified, +.Nm +will use +.Xr rmt 8 +to read or write the specified +.Ar file +on a remote machine. +.Dq Ar - +may be used as a filename, for reading +or writing to/from stdin/stdout. +.It Fl -force-local +Archive file is local even if it has a colon. +.It Fl F Ar file +.It Fl -info-script Ar file +.It Fl -new-volume-script Ar file +Run a script at the end of each archive volume (implies +.Fl M ) . +.It Fl -fast-read +Stop after all non-wildcard extraction targets have been found +in the archive. +.It Fl G +.It Fl -incremental +Create/list/extract old GNU-format incremental backup. +.It Fl g Ar file +.It Fl -listed-incremental Ar file +Create/list/extract new GNU-format incremental backup. +.It Fl h +.It Fl -dereference +Don't write symlinks as symlinks; write the data of the files they name. +.It Fl i +.It Fl -ignore-zeros +Ignore blocks of zeroes in archive (usually means End-Of-File). +.It Fl -ignore-failed-read +Don't exit with non-zero status on unreadable files. +.It Fl j +.It Fl y +.It Fl -bzip +.It Fl -bzip2 +.It Fl -bunzip2 +Filter the archive through +.Xr bzip2 1 . +.It Fl k +.It Fl -keep-old-files +Keep files which already exist on disk; don't overwrite them from the archive. +.It Fl K Ar file +.It Fl -starting-file Ar file +Begin at +.Ar file +in the archive. +.It Fl l +.It Fl -one-file-system +Stay in local filesystem when creating an archive (do not cross mount +points). +.It Fl L Ar number +.It Fl -tape-length Ar number +Change tapes after writing +.Ar number +* 1024 bytes. +.It Fl m +.It Fl -modification-time +Don't extract file modified time. +.It Fl M +.It Fl -multi-volume +Create/list/extract multi-volume archive. +.It Fl n +.It Fl -norecurse +Don't recurse into subdirectories when creating. +.It Fl -volno-file Ar file +File name with volume number to start with. +.It Fl N Ar date +.It Fl -after-date Ar date +.It Fl -newer Ar date +Only store files with creation time newer than +.Ar date . +.It Fl -newer-mtime Ar date +Only store files with modification time newer than +.Ar date . +.It Fl o +.It Fl -old-archive +.It Fl -portability +Write a V7 format archive, rather than POSIX format. +.It Fl O +.It Fl -to-stdout +Extract files to standard output. +.It Fl p +.It Fl -same-permissions +.It Fl -preserve-permissions +Extract all protection information. +.It Fl -preserve +Has the effect of +.Fl p s . +.It Fl P +.It Fl -absolute-paths +Don't strip leading +.Ql / +from file names. +.It Fl R +.It Fl -record-number +Show record number within archive with each message. +.It Fl -remove-files +Remove files after adding them to the archive. +.It Fl s +.It Fl -same-order +.It Fl -preserve-order +List of names to extract is sorted to match archive. +.It Fl -show-omitted-dirs +Show directories which were omitted while processing the archive. +.It Fl S +.It Fl -sparse +Handle +.Dq sparse +files efficiently. +.It Fl T Ar file +.It Fl I Ar file +.It Fl -files-from Ar file +Get names of files to extract or create from +.Ar file , +one per line. +.It Fl -null +Modifies behavior of +.Fl T +to expect null-terminated names; disables +.Fl C . +.It Fl -totals +Prints total bytes written with +.Fl -create . +.It Fl U +.It Fl -unlink +.It Fl -unlink-first +Unlink files before creating them. +.It Fl v +.It Fl -verbose +Lists files written to archive with +.Fl -create +or extracted with +.Fl -extract ; +lists file protection information along with file names with +.Fl -list . +.It Fl V Ar volume-name +.It Fl -label Ar volume-name +Create archive with the given +.Ar volume-name . +.It Fl -version +Print +.Nm +program version number. +.It Fl w +.It Fl -interactive +.It Fl -confirmation +Ask for confirmation for every action. +.It Fl W +.It Fl -verify +Attempt to verify the archive after writing it. +.It Fl -exclude Ar pattern +Exclude files matching the +.Ar pattern +(don't extract them, don't add them, don't list them). +.It Fl X Ar file +.It Fl -exclude-from Ar file +Exclude files listed in +.Ar file . +.It Fl Z +.It Fl -compress +.It Fl -uncompress +Filter the archive through +.Xr compress 1 . +.It Fl z +.It Fl -gzip +.It Fl -gunzip +Filter the archive through +.Xr gzip 1 . +.It Fl -use-compress-program Ar program +Filter the archive through +.Ar program +(which must accept +.Fl d +to mean +.Dq decompress ) . +.It Fl -block-compress +Block the output of compression program for tapes or floppies +(otherwise writes will be of odd length, which device drivers may reject). +.It Fl Xo +.Op Cm 0 Ns - Ns Cm 7 Ns +.Op Cm lmh +.Xc +Specify tape drive and density. +.El +.Sh ENVIRONMENT +The environment variable +.Ev TAR_OPTIONS +can hold a set of default options for +.Nm . +These options are interpreted first and can be overwritten by explicit command +line parameters. +.Sh EXAMPLES +To create an archive on tape drive +.Pa /dev/sa0 +with a block size of 20 blocks, containing files named +.Pa bert +and +.Pa ernie , +you can enter +.Dl "tar cfb /dev/sa0 20 bert ernie" +or +.Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" +Note that the +.Fl f +and +.Fl b +flags both require arguments, which they take from the command line in +the order they were listed in the command word. +.Pp +Because +.Pa /dev/sa0 +is the default device, and 20 is the default block +size, the above example could have simply been +.Dl "tar c bert ernie" +.Pp +To extract all the C sources and headers from an archive named +.Pa backup.tar , +type +.Dl "tar xf backup.tar '*.[ch]'" +Note that the pattern must be quoted to prevent the shell from +attempting to expand it according the files in the current working +directory (the shell does not have access to the list of files in +the archive, of course). +.Pp +To move file hierarchies, use a command line like this: +.Bd -literal +tar -cf - -C srcdir . | tar xpf - -C destdir +.Ed +.Pp +To create a compressed archive on diskette, using +.Xr gzip 1 , +use a command-line like +.Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" +.Pp +Note that you cannot mix bundled flags and +.Fl -style +flags; you can use +single-letter flags in the manner above, rather than having to type +.Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" +.Pp +The above-created diskette can be listed with +.Dl "tar tvfbz /dev/fd1a 36" +.Pp +To join two +.Nm +archives into a single archive, use +.Dl "tar Af archive1.tar archive2.tar" +which will add the files contained in +.Pa archive2.tar +onto the end of +.Pa archive1.tar +(note that this can't be done by simply typing +.Dl "cat archive2.tar >> archive1.tar" +because of the end-of-file block at the end of a +.Nm +archive). +.Pp +To archive all files from the directory +.Pa srcdir , +which were modified +after Feb. 9th 1997, 13:00 h, use +.Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" +.Pp +Other possible time specifications are +.Sq "02/09/97 13:15" , +.Sq "1997-02-09 13:15" , +.Sq "13:15 9 Feb 1997" , +.Sq "9 Feb 1997 13:15" , +.Sq "Feb. 9, 1997 1:15pm" , +.Sq "09-Feb" , +.Sq "3 weeks ago" +or +.Sq "May first Sunday" . +To specify the correct time zone use either e.g.\& +.Sq "13:15 CEST" +or +.Sq "13:15+200" . +.Sh ENVIRONMENT +The +.Nm +program examines the following environment variables. +.Bl -tag -width "POSIXLY_CORRECT" +.It Ev POSIXLY_CORRECT +Normally, +.Nm +will process flag arguments that appear in the file list. +If set in the environment, this causes +.Nm +to consider the first +non-flag argument to terminate flag processing, as per the POSIX specification. +.It Ev SHELL +In interactive mode, a permissible response to the prompt is to +request to spawn a subshell, which will be +.Pa /bin/sh +unless the +.Ev SHELL +variable is set. +.It Ev TAPE +Changes +.Nm Ns 's +default tape drive (which is still overridden by the +.Fl f +flag). +.It TAR_RSH +The TAR_RSH environment variable allows you to override the default +shell used as the transport for +.Nm . +.El +.Sh FILES +.Bl -tag -width "/dev/sa0" +.It Pa /dev/sa0 +The default tape drive. +.El +.Sh COMPATIBILITY +The +.Fl y +is a +.Fx +localism. +The GNU +.Nm +maintainer has now choosen +.Fl j +as the offical +.Xr bzip2 1 +compression option in GNU +.Nm +1.13.18 and later. +The +.Fl I +option is for compatibility with Solaris's +.Nm . +.Sh SEE ALSO +.Xr bzip2 1 , +.Xr compress 1 , +.Xr gzip 1 , +.Xr pax 1 , +.Xr rmt 8 +.Sh HISTORY +The +.Nm +format has a rich history, dating back to Sixth Edition +.Ux . +The current implementation of +.Nm +is the GNU implementation, which +originated as the public-domain +.Nm +written by +.An John Gilmore . +.Sh AUTHORS +.An -nosplit +A cast of thousands, including [as listed in the +.Pa ChangeLog +file in the source] +.An John Gilmore +(author of original public domain version), +.An Jay Fenlason +(first GNU author), +.An Joy Kendall , +.An Jim Kingdon , +.An David J. MacKenzie , +.An Michael I Bushnell , +.An Noah Friedman , +and innumerable others who have contributed fixes and additions. +.Pp +Man page obtained by the +.Fx +group from the +.Nx 1.0 +release. +.Sh BUGS +The +.Fl C +feature does not work like historical +.Nm +programs, and is probably untrustworthy. +.Pp +The +.Fl A +command should work to join an arbitrary number of +.Nm +archives +together, but it does not; attempting to do so leaves the +end-of-archive blocks in place for the second and subsequent archives. +.Pp +The +.Nm +file format is a semi fixed width field format, and the field +for device numbers were designed for 16 bit (8 major, 8 minor) +and can not absorb our 32 bit (8 major, 16+8 minor) numbers. |