(“Tape ARchive”, following ar) Unix's general purpose archive utility and the file format it uses. Tar was originally intended for use with magnetic tape but, though it has several command line options related to tape, it is now used more often for packaging files together on other media, e.g. for distribution via the Internet. The resulting archive, a “tar file” (humourously, “tarball”) is often compressed, using gzip or some other form of compression. There is a GNU version of tar with several improvements over the standard versions.
tar is default *NOT* available on a 'bare bone' FREESCO box. You will have to install an 'utils' add-on package first!
GNU `tar' saves many files together into a single tape or disk archive, and can restore individual files from the archive. Usage: tar [OPTION]... [FILE]... If a long option shows an argument as mandatory, then it is mandatory for the equivalent short option also. Similarly for optional arguments. Main operation mode: -t, --list list the contents of an archive -x, --extract, --get extract files from an archive -c, --create create a new archive -d, --diff, --compare find differences between archive and file system -r, --append append files to the end of an archive -u, --update only append files newer than copy in archive -A, --catenate append tar files to an archive --concatenate same as -A --delete delete from the archive (not on mag tapes!) Operation modifiers: -W, --verify attempt to verify the archive after writing it --remove-files remove files after adding them to the archive -k, --keep-old-files don't overwrite existing files when extracting -U, --unlink-first remove each file prior to extracting over it --recursive-unlink empty hierarchies prior to extracting directory -S, --sparse handle sparse files efficiently -O, --to-stdout extract files to standard output -G, --incremental handle old GNU-format incremental backup -g, --listed-incremental handle new GNU-format incremental backup --ignore-failed-read do not exit with nonzero on unreadable files Handling of file attributes: --owner=NAME force NAME as owner for added files --group=NAME force NAME as group for added files --mode=CHANGES force (symbolic) mode CHANGES for added files --atime-preserve don't change access times on dumped files -m, --modification-time don't extract file modified time --same-owner try extracting files with the same ownership --numeric-owner always use numbers for user/group names -p, --same-permissions extract all protection information --preserve-permissions same as -p -s, --same-order sort names to extract to match archive --preserve-order same as -s --preserve same as both -p and -s Device selection and switching: -f, --file=ARCHIVE use archive file or device ARCHIVE --force-local archive file is local even if has a colon --rsh-command=COMMAND use remote COMMAND instead of rsh -[0-7][lmh] specify drive and density -M, --multi-volume create/list/extract multi-volume archive -L, --tape-length=NUM change tape after writing NUM x 1024 bytes -F, --info-script=FILE run script at end of each tape (implies -M) --new-volume-script=FILE same as -F FILE --volno-file=FILE use/update the volume number in FILE Device blocking: -b, --blocking-factor=BLOCKS BLOCKS x 512 bytes per record --record-size=SIZE SIZE bytes per record, multiple of 512 -i, --ignore-zeros ignore zeroed blocks in archive (means EOF) -B, --read-full-records reblock as we read (for 4.2BSD pipes) Archive format selection: -V, --label=NAME create archive with volume name NAME PATTERN at list/extract time, a globbing PATTERN -o, --old-archive, --portability write a V7 format archive --posix write a POSIX conformant archive -y, --bzip2, --bunzip2 filter the archive through bzip2 -z, --gzip, --ungzip filter the archive through gzip -Z, --compress, --uncompress filter the archive through compress --use-compress-program=PROG filter through PROG (must accept -d) Local file selection: -C, --directory=DIR change to directory DIR -T, --files-from=NAME get names to extract or create from file NAME --null -T reads null-terminated names, disable -C --exclude=PATTERN exclude files, given as a globbing PATTERN -X, --exclude-from=FILE exclude globbing patterns listed in FILE -P, --absolute-names don't strip leading `/'s from file names -h, --dereference dump instead the files symlinks point to --no-recursion avoid descending automatically in directories -l, --one-file-system stay in local file system when creating archive -K, --starting-file=NAME begin at file NAME in the archive -N, --newer=DATE only store files newer than DATE --newer-mtime compare date and time when data changed only --after-date=DATE same as -N --backup[=CONTROL] backup before removal, choose version control --suffix=SUFFIX backup before removel, override usual suffix Informative output: --help print this help, then exit --version print tar program version number, then exit -v, --verbose verbosely list files processed --checkpoint print directory names while reading the archive --totals print total bytes written while creating archive -R, --block-number show block number within archive with each message -w, --interactive ask for confirmation for every action --confirmation same as -w The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control may be set with --backup or VERSION_CONTROL, values are: t, numbered make numbered backups nil, existing numbered if numbered backups exist, simple otherwise never, simple always make simple backups GNU tar cannot read nor produce `--posix' archives. If POSIXLY_CORRECT is set in the environment, GNU extensions are disallowed with `--posix'. Support for POSIX is only partially implemented, don't count on it yet. ARCHIVE may be FILE, HOST:FILE or USER@HOST:FILE; and FILE may be a file or a device. *This* `tar' defaults to `-f- -b20'. Report bugs to <tar-bugs@gnu.ai.mit.edu>.