.\" @(#)tar.1 1.11.1 93/19/22 PJV;
.TH TAR 1 "22 September 1993"
.SH NAME
tar \- The GNU version of the tar archiving utility
.SH SYNOPSIS
.B tar
[
.B \-
]
.B A --catenate --concatenate \||\| c --create \||\| d --diff --compare \||\| r --append \||\| t --list \||\| u --update \||\| x -extract --get
[
.B --atime-preserve
]
[
.B -b, --block-size N
]
[
.B -B, --read-full-blocks
]
[
.B -C, --directory DIR
]
[
.B --checkpoint	
]
[
.B -f, --file [HOSTNAME:]F
]
[
.B --force-local	
]
[
.B -F, --info-script F --new-volume-script F
]
[
.B -G, --incremental
]
[
.B -g, --listed-incremental F
]
[
.B -h, --dereference
]
[
.B -i, --ignore-zeros
]
[
.B -j, --bzip2
]
[
.B --ignore-failed-read
]
[
.B -k, --keep-old-files
]
[
.B -K, --starting-file F
]
[
.B -l, --one-file-system
]
[
.B -L, --tape-length N
]
[
.B -m, --modification-time
]
[
.B -M, --multi-volume
]
[
.B -N, --after-date DATE, --newer DATE
]
[
.B -o, --old-archive, --portability
]
[
.B -O, --to-stdout
]
[
.B -p, --same-permissions, --preserve-permissions
]
[
.B -P, --absolute-names
]
[
.B --preserve	
]
[
.B -R, --record-number
]
[
.B --remove-files
]
[
.B -s, --same-order, --preserve-order
]
[
.B --same-owner
]
[
.B --numeric-owner
]
[
.B -S, --sparse
]
[
.B -T, --files-from F
]
[
.B --null	
]
[
.B --totals	
]
[
.B -v, --verbose
]
[
.B -V, --label NAME
]
[
.B --version	
]
[
.B -w, --interactive, --confirmation
]
[
.B -W, --verify	
]
[
.B --exclude=FILE
]
[
.B -X, --exclude-from FILE
]
[
.B -Z, --compress, --uncompress
]
[
.B -z, --gzip, --ungzip	
]
[
.B --use-compress-program PROG
]
[
.B --block-compress
]
[
.B --rsh-command=CMD
]
[
.B -[0-7][lmh]	
]
.TP
.I filename1 [ filename2, ... filenameN ] 
.TP
.I directory1 [ directory2, ...directoryN ]
.SH DESCRIPTION
.LP
This manual page documents the GNU version of
.B tar
, an archiving program designed to store and extract files from 
an archive file known as a 
.IR tarfile.
A 
.IR tarfile 
may be made on a tape drive, however, it is also common
to write a
.IR tarfile
to a normal file. 
The first argument to 
.B tar
must be one of the options:
.BR Acdrtux ,
followed by any optional functions.
The final arguments to 
.B tar
are the names of the files or directories which should be archived. The use
of a directory name always implies that the subdirectories below should be
included in the archive.
.SH EXAMPLES
.TP
.B tar -xvvf foo.tar
extract foo.tar
.TP
.B tar -xvvzf foo.tar.gz
extract gzipped foo.tar.gz
.TP
.B tar -cvvf foo.tar foo/
tar contents of folder foo in foo.tar
.SH "FUNCTION LETTERS"
.TP
.B One of the following options must be used:
.TP
.B -A, --catenate, --concatenate
append tar files to an archive
.TP
.B -c, --create	
create a new archive
.TP
.B -d, --diff, --compare
find differences between archive and file system
.TP
.B --delete		
delete from the archive (not for use on mag tapes!)
.TP
.B -r, --append		
append files to the end of an archive
.TP
.B -t, --list		
list the contents of an archive
.TP
.B -u, --update		
only append files that are newer than copy in archive
.TP
.B -x, --extract, --get		
extract files from an archive
.SH "OTHER OPTIONS"
.TP
.B --atime-preserve	
don't change access times on dumped files
.TP
.B -b, --block-size N	
block size of Nx512 bytes (default N=20)
.TP
.B -B, --read-full-blocks	
reblock as we read (for reading 4.2BSD pipes)
.TP 
.B -C, --directory DIR	
change to directory DIR
.TP 
.B --checkpoint		
print directory names while reading the archive
.TP
.B -f, --file [HOSTNAME:]F	
use archive file or device F (default "-", meaning stdin/stdout)
.TP
.B --force-local		
archive file is local even if has a colon
.TP 
.B -F, --info-script F --new-volume-script F 
run script at end of each tape (implies -M)
.TP
.B -G, --incremental	
create/list/extract old GNU-format incremental backup
.TP
.B -g, --listed-incremental F 
create/list/extract new GNU-format incremental backup
.TP 
.B -h, --dereference	
don't dump symlinks; dump the files they point to
.TP
.B -i, --ignore-zeros	
ignore blocks of zeros in archive (normally mean EOF)
.TP
.B -j, --bzip2
filter archive through bzip2, use to decompress .bz2 files
.TP
.B --ignore-failed-read	
don't exit with non-zero status on unreadable files
.TP
.B -k, --keep-old-files	
keep existing files; don't overwrite them from archive
.TP
.B -K, --starting-file F	
begin at file F in the archive
.TP
.B -l, --one-file-system	
stay in local file system when creating an archive
.TP
.B -L, --tape-length N	
change tapes after writing N*1024 bytes
.TP
.B -m, --modification-time	
don't extract file modified time
.TP
.B -M, --multi-volume	
create/list/extract multi-volume archive
.TP
.B -N, --after-date DATE, --newer DATE	
only store files newer than DATE
.TP
.B -o, --old-archive, --portability	
write a V7 format archive, rather than ANSI format
.TP
.B -O, --to-stdout		
extract files to standard output
.TP
.B -p, --same-permissions, --preserve-permissions 
extract all protection information
.TP
.B -P, --absolute-paths	
don't strip leading `/'s from file names
.TP
.B --preserve		
like -p -s
.TP
.B -R, --record-number	
show record number within archive with each message
.TP 
.B --remove-files		
remove files after adding them to the archive
.TP
.B -s, --same-order, --preserve-order	
list of names to extract is sorted to match archive
.TP
.B --same-owner		
create extracted files with the same ownership 
.TP
.B --numeric-owner
always use numbers for user/group names
.TP
.B -S, --sparse		
handle sparse files efficiently
.TP 
.B -T, --files-from F	
get names to extract or create from file F
.TP
.B --null			
-T reads null-terminated names, disable -C
.TP
.B --totals		
print total bytes written with --create
.TP
.B -v, --verbose		
verbosely list files processed
.TP
.B -V, --label NAME	
create archive with volume name NAME
.TP 
.B --version		
print tar program version number
.TP
.B -w, --interactive, --confirmation	
ask for confirmation for every action
.TP
.B -W, --verify		
attempt to verify the archive after writing it
.TP
.B --exclude=FILE		
exclude file FILE
.TP
.B -X, --exclude-from FILE	
exclude files listed in FILE
.TP
.B -Z, --compress, --uncompress      	
filter the archive through compress
.TP 
.B -z, --gzip, --ungzip		
filter the archive through gzip
.TP
.B --use-compress-program PROG
filter the archive through PROG (which must accept -d)
.TP
.B --block-compress	
block the output of compression program for tapes
.TP
.B --rsh-command=CMD
Use remote COMMAND instead of `rsh'.  This option exists so that
people who use something other than the standard `rsh' (e.g., a
Kerberized `rsh') can access a remote device.
.TP
.B -[0-7][lmh]		
specify drive and density
.SH BUGS
.LP
The GNU folks, in general, abhor man pages, and create info documents instead.
The maintainer of tar falls into this category.  This man page is neither
complete, nor current, and was included in the Debian Linux packaging of tar
entirely to reduce the frequency with which the lack of a man page gets
reported as a bug in our defect tracking system.

If you really want to understand tar, then you should run info and read the
tar info pages, or use the info mode in emacs.