Tape ARchiver, store, list or extract files in an archive.
SYNTAX tar OPTION... [NAME]... A second form for when old options are being used: tar LETTER... [ARGUMENT]... [OPTION]... [NAME]... MOST COMMON OPTIONS `--create' `-c' Create a new `tar' archive. `--list' `-t' List the contents of an archive. `--extract' `-x' Extract one or more members from an archive. `--file=ARCHIVE-NAME' `-f ARCHIVE-NAME' Specify the name of an archive file.
You can specify an argument for the `--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') option whenever you use `tar'; this option determines the name of the archive file that `tar' will work on.
If you don't specify this argument, then `tar' will use a default, usually some physical tape drive attached to your machine. If there is no tape drive attached, or the default is not meaningful, then `tar' will print an error message. The error message might look roughly like one of the following:
tar: can't open /dev/rmt8 : No such device or address tar: can't open /dev/rsmt0 : I/O error
To avoid confusion, we recommend that you always specify an archive file name by using `--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') when writing your `tar' commands.
`--verbose' `-v' Show the files being worked on as `tar' is running. `--verbose' (`-v') shows details about the results of running `tar'.
This can be especially useful when the results might not
be obvious. For example, if you want to see the progress of `tar' as it writes
files into the archive, you can use the `--verbose' option. In the beginning, you may find it useful to use `--verbose' at all times; when
you are more accustomed to `tar', you will likely want to use it at certain times but not at others. We will use `--verbose' at times to
help make something clear, and we will give many examples both using and not using `--verbose' to show the differences.
Sometimes, a single instance of `--verbose' on the command line will show a full, `ls' style listing of an archive or files, giving sizes,
owners, and similar information. Other times, `--verbose' will only show files or members that the particular operation is operating on at the time. In the latter case, you can use `--verbose' twice in a command to get a listing such as that in the former case.
The 8 BASIC MODES OF OPERATION (Use only one at a time) `--append' `-r' Appends files to the end of the archive. `--compare' `--diff' `-d' Compares archive members with their counterparts in the file system, and reports differences in file size, mode, owner, modification date and contents. `--concatenate' `--catenate' `-A' Appends other `tar' archives to the end of the archive. `--create' `-c' Creates a new `tar' archive. `--delete' Deletes members from the archive. Don't try this on a archive on a tape! `--extract' `--get' `-x' Extracts members from the archive into the file system. `--list' `-t' Lists the members in an archive. `--update' `-u' Adds files to the end of the archive, but only if they are newer than their counterparts already in the archive, or if they do not already exist in the archive. LIST OF ALL TAR OPTIONS `--absolute-names' `-P' Normally when creating an archive, `tar' strips an initial `/' from member names. This option disables that behavior. `--after-date' (See `--newer'.) `--atime-preserve' Tells `tar' to preserve the access time field in a file's inode when dumping it. `--backup=BACKUP-TYPE' Rather than deleting files from the file system, `tar' will back them up using simple or numbered backups, depending upon BACKUP-TYPE. `--block-number' `-R' With this option present, `tar' prints error messages for read errors with the block number in the archive file. `--blocking-factor=BLOCKING' `-b BLOCKING' Sets the blocking factor `tar' uses to BLOCKING x 512 bytes per record. `--bzip2' `-I' This option tells `tar' to read or write archives through `bzip2'. `--checkpoint' This option directs `tar' to print periodic checkpoint messages as it reads through the archive. Its intended for when you want a visual indication that `tar' is still running, but don't want to see `--verbose' output. `--compress' `--uncompress' `-Z' `tar' will use the `compress' program when reading or writing the archive. This allows you to directly act on archives while saving space. `--confirmation' (See `--interactive'.) `--dereference' `-h' When creating a `tar' archive, `tar' will archive the file that a symbolic link points to, rather than archiving the symlink. `--directory=DIR' `-C DIR' When this option is specified, `tar' will change its current directory to DIR before performing any operations. When this option is used during archive creation, it is order sensitive. `--exclude=PATTERN' When performing operations, `tar' will skip files that match PATTERN. `--exclude-from=FILE' `-X FILE' Similar to `--exclude', except `tar' will use the list of patterns in the file FILE. `--file=ARCHIVE' `-f ARCHIVE' `tar' will use the file ARCHIVE as the `tar' archive it performs operations on, rather than `tar''s compilation dependent default. `--files-from=FILE' `-T FILE' `tar' will use the contents of FILE as a list of archive members or files to operate on, in addition to those specified on the command-line. `--force-local' Forces `tar' to interpret the filename given to `--file' as a local file, even if it looks like a remote tape drive name. `--group=GROUP' Files added to the `tar' archive will have a group id of GROUP, rather than the group from the source file. GROUP is first decoded as a group symbolic name, but if this interpretation fails, it has to be a decimal numeric group ID. Also see the comments for the `--owner=USER' option. `--gzip' `--gunzip' `--ungzip' `-z' This option tells `tar' to read or write archives through `gzip', allowing `tar' to directly operate on several kinds of compressed archives transparently. `--help' `tar' will print out a short message summarizing the operations and options to `tar' and exit. `--ignore-failed-read' Instructs `tar' to exit successfully if it encounters an unreadable file. `--ignore-umask' (See `--preserve-permissions'; *note Writing::..) `--ignore-zeros' `-i' With this option, `tar' will ignore zeroed blocks in the archive, which normally signals EOF. *Note Reading::. `--incremental' `-G' Used to inform `tar' that it is working with an old GNU-format incremental backup archive. It is intended primarily for backwards compatibility only. `--info-script=SCRIPT-FILE' `--new-volume-script=SCRIPT-FILE' `-F SCRIPT-FILE' When `tar' is performing multi-tape backups, SCRIPT-FILE is run at the end of each tape. `--interactive' `--confirmation' `-w' Specifies that `tar' should ask the user for confirmation before performing potentially destructive options, such as overwriting files. `--keep-old-files' `-k' When extracting files from an archive, `tar' will not overwrite existing files if this option is present. *Note Writing::. `--label=NAME' `-V NAME' When creating an archive, instructs `tar' to write NAME as a name record in the archive. When extracting or listing archives, `tar' will only operate on archives that have a label matching the pattern specified in NAME. `--listed-incremental=SNAPSHOT-FILE' `-g SNAPSHOT-FILE' During a `--create' operation, specifies that the archive that `tar' creates is a new GNU-format incremental backup, using SNAPSHOT-FILE to determine which files to backup. With other operations, informs `tar' that the archive is in incremental format. `--mode=PERMISSIONS' When adding files to an archive, `tar' will use PERMISSIONS for the archive members, rather than the permissions from the files. The program `chmod' and this `tar' option share the same syntax for what PERMISSIONS might be. *Note Permissions: (fileutils)File permissions. This reference also has useful information for those not being overly familiar with the Unix permission system. Of course, PERMISSIONS might be plainly specified as an octal number. However, by using generic symbolic modifications to mode bits, this allows more flexibility. For example, the value `a+rw' adds read and write permissions for everybody, while retaining executable bits on directories or on any other file already marked as executable. `--multi-volume' `-M' Informs `tar' that it should create or otherwise operate on a multi-volume `tar' archive. `--new-volume-script' (see -info-script) `--newer=DATE' `--after-date=DATE' `-N' When creating an archive, `tar' will only add files that have changed since DATE. `--newer-mtime' In conjunction with `--newer', `tar' will only add files whose contents have changed (as opposed to just `--newer', which will also back up files for which any status information has changed). `--no-recursion' With this option, `tar' will not recurse into directories unless a directory is explicitly named as an argument to `tar'. `--null' When `tar' is using the `--files-from' option, this option instructs `tar' to expect filenames terminated with `NUL', so `tar' can correctly work with file names that contain newlines. `--numeric-owner' This option will notify `tar' that it should use numeric user and group IDs when creating a `tar' file, rather than names. `--old-archive' (See `--portability'.) `--one-file-system' `-l' Used when creating an archive. Prevents `tar' from recursing into directories that are on different file systems from the current directory. `--owner=USER' Specifies that `tar' should use USER as the owner of members when creating archives, instead of the user associated with the source file. USER is first decoded as a user symbolic name, but if this interpretation fails, it has to be a decimal numeric user ID. There is no value indicating a missing number, and `0' usually means `root'. Some people like to force `0' as the value to offer in their distributions for the owner of files, because the `root' user is anonymous anyway, so that might as well be the owner of anonymous archives. `--portability' `--old-archive' `-o' Tells `tar' to create an archive that is compatible with Unix V7 `tar'. `--posix' Instructs `tar' to create a POSIX compliant `tar' archive. `--preserve' Synonymous with specifying both `--preserve-permissions' and `--same-order'. `--preserve-order' (See `--same-order'; *note Reading::..) `--preserve-permissions' `--same-permissions' `-p' When `tar' is extracting an archive, it normally subtracts the users' umask from the permissions specified in the archive and uses that number as the permissions to create the destination file. Specifying this option instructs `tar' that it should use the permissions directly from the archive. *Note Writing::. `--read-full-records' `-B' Specifies that `tar' should reblock its input, for reading from pipes on systems with buggy implementations. *Note Reading::. `--record-size=SIZE' Instructs `tar' to use SIZE bytes per record when accessing the archive. `--recursive-unlink' Similar to the `--unlink-first' option, removing existing directory hierarchies before extracting directories of the same name from the archive. *Note Writing::. `--remove-files' Directs `tar' to remove the source file from the file system after appending it to an archive. `--rsh-command=CMD' Notifies `tar' that is should use CMD to communicate with remote devices. `--same-order' `--preserve-order' `-s' This option is an optimization for `tar' when running on machines with small amounts of memory. It informs `tar' that the list of file arguments has already been sorted to match the order of files in the archive. *Note Reading::. `--same-owner' When extracting an archive, `tar' will attempt to preserve the owner specified in the `tar' archive with this option present. `--same-permissions' (See `--preserve-permissions'; *note Writing::..) `--show-omitted-dirs' Instructs `tar' to mention directories its skipping over when operating on a `tar' archive. `--sparse' `-S' Invokes a GNU extension when adding files to an archive that handles sparse files efficiently. `--starting-file=NAME' `-K NAME' This option affects extraction only; `tar' will skip extracting files in the archive until it finds one that matches NAME. *Note Scarce::. `--suffix=SUFFIX' Alters the suffix `tar' uses when backing up files from the default `~'. `--tape-length=NUM' `-L NUM' Specifies the length of tapes that `tar' is writing as being NUM x 1024 bytes long. `--to-stdout' `-O' During extraction, `tar' will extract files to stdout rather than to the file system. *Note Writing::. `--totals' Displays the total number of bytes written after creating an archive. `--touch' `-m' Sets the modification time of extracted files to the extraction time, rather than the modification time stored in the archive. *Note Writing::. `--uncompress' (See `--compress'.) `--ungzip' (See `--gzip'.) `--unlink-first' `-U' Directs `tar' to remove the corresponding file from the file system before extracting it from the archive. *Note Writing::. `--use-compress-program=PROG' Instructs `tar' to access the archive through PROG, which is presumed to be a compression program of some sort. `--verbose' `-v' Specifies that `tar' should be more verbose about the operations its performing. This option can be specified multiple times for some operations to increase the amount of information displayed. `--verify' `-W' Verifies that the archive was correctly written when creating an archive. `--version' `tar' will print an informational message about what version it is and a copyright message, some credits, and then exit. `--volno-file=FILE' Used in conjunction with `--multi-volume'. `tar' will keep track of which volume of a multi-volume archive its working in FILE.
To tar and zip a file
tar -czvf MyArchive Source_file or tar --create --gzip --verbose --file=MyArchive Source_file
The reverse process to extract the file
tar -xzvf MyArchive Source_file or tar --extract --gunzip --verbose --file=MyArchive Source_file
"Of all forms of caution, caution in love is perhaps the
most fatal to true happiness" - Bertrand
gzip - Compress or decompress named file(s)
rman - Oracle Recovery Manager
sum - Print a checksum for a file
unshar - Unpack shell archive scripts
Equivalent Windows NT commands:
NTBACKUP - Backup folders to tape
EXTRACT - decompress a named file
ZIP - compress files