GNU `tar' saves many files together into a single tape or disk archive, and
can restore individual files from the archive.
can restore individual files from the archive.
Usage: tar [OPTION]... [FILE]...
Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.
If a long option shows an argument as mandatory, then it is mandatory
for the equivalent short option also. Similarly for optional arguments.
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!)
-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 replace existing files when extracting
--keep-newer-files don't replace existing files that are newer
than their archive copies
--overwrite overwrite existing files when extracting
--no-overwrite-dir preserve metadata of existing directories
-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=FILE
handle new GNU-format incremental backup
--ignore-failed-read do not exit with nonzero on unreadable files
--occurrence[=NUM] process only the NUMth occurrence of each file in
the archive. This option is valid only in
conjunction with one of the subcommands --delete,
--diff, --extract or --list and when a list of
files is given either on the command line or
via -T option.
NUM defaults to 1.
-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 replace existing files when extracting
--keep-newer-files don't replace existing files that are newer
than their archive copies
--overwrite overwrite existing files when extracting
--no-overwrite-dir preserve metadata of existing directories
-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=FILE
handle new GNU-format incremental backup
--ignore-failed-read do not exit with nonzero on unreadable files
--occurrence[=NUM] process only the NUMth occurrence of each file in
the archive. This option is valid only in
conjunction with one of the subcommands --delete,
--diff, --extract or --list and when a list of
files is given either on the command line or
via -T option.
NUM defaults to 1.
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
--no-same-owner extract files as yourself
--numeric-owner always use numbers for user/group names
-p, --same-permissions extract permissions information
--no-same-permissions do not extract permissions 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
--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
--no-same-owner extract files as yourself
--numeric-owner always use numbers for user/group names
-p, --same-permissions extract permissions information
--no-same-permissions do not extract permissions 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
--rmt-command=COMMAND use given rmt COMMAND instead of /etc/rmt
--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
-f, --file=ARCHIVE use archive file or device ARCHIVE
--force-local archive file is local even if has a colon
--rmt-command=COMMAND use given rmt COMMAND instead of /etc/rmt
--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)
-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:
--format=FMTNAME create archive of the given format.
FMTNAME is one of the following:
v7 old V7 tar format
oldgnu GNU format as per tar <= 1.12
gnu GNU tar 1.13 format
ustar POSIX 1003.1-1988 (ustar) format
posix POSIX 1003.1-2001 (pax) format
--old-archive, --portability same as --format=v7
--posix same as --format=posix
--pax-option keyword[[:]=value][,keyword[[:]=value], ...]
control pax keywords
-V, --label=NAME create archive with volume name NAME
PATTERN at list/extract time, a globbing PATTERN
-j, --bzip2 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)
--format=FMTNAME create archive of the given format.
FMTNAME is one of the following:
v7 old V7 tar format
oldgnu GNU format as per tar <= 1.12
gnu GNU tar 1.13 format
ustar POSIX 1003.1-1988 (ustar) format
posix POSIX 1003.1-2001 (pax) format
--old-archive, --portability same as --format=v7
--posix same as --format=posix
--pax-option keyword[[:]=value][,keyword[[:]=value], ...]
control pax keywords
-V, --label=NAME create archive with volume name NAME
PATTERN at list/extract time, a globbing PATTERN
-j, --bzip2 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 PATTERN
-X, --exclude-from=FILE exclude patterns listed in FILE
--anchored exclude patterns match file name start (default)
--no-anchored exclude patterns match after any /
--ignore-case exclusion ignores case
--no-ignore-case exclusion is case sensitive (default)
--wildcards exclude patterns use wildcards (default) --no-wildcards exclude patterns are plain strings
--wildcards-match-slash exclude pattern wildcards match '/' (default)
--no-wildcards-match-slash exclude pattern wildcards do not match '/'
--allow-name-mangling when creating, allow GNUTYPE_NAMES mangling -- considered dangerous
-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
--strip-path=NUM strip NUM leading components from file names
before extraction
-N, --newer=DATE-OR-FILE only store files newer than DATE-OR-FILE --newer-mtime=DATE 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 removal, override usual suffix
-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 PATTERN
-X, --exclude-from=FILE exclude patterns listed in FILE
--anchored exclude patterns match file name start (default)
--no-anchored exclude patterns match after any /
--ignore-case exclusion ignores case
--no-ignore-case exclusion is case sensitive (default)
--wildcards exclude patterns use wildcards (default) --no-wildcards exclude patterns are plain strings
--wildcards-match-slash exclude pattern wildcards match '/' (default)
--no-wildcards-match-slash exclude pattern wildcards do not match '/'
--allow-name-mangling when creating, allow GNUTYPE_NAMES mangling -- considered dangerous
-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
--strip-path=NUM strip NUM leading components from file names
before extraction
-N, --newer=DATE-OR-FILE only store files newer than DATE-OR-FILE --newer-mtime=DATE 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 removal, 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 --check-links print a message if not all links are dumped
--totals print total bytes written while creating archive
--index-file=FILE send verbose output to FILE
--utc print file modification dates in UTC
-R, --block-number show block number within archive with each message
-w, --interactive ask for confirmation for every action
--confirmation same as -w
--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 --check-links print a message if not all links are dumped
--totals print total bytes written while creating archive
--index-file=FILE send verbose output to FILE
--utc print file modification dates in UTC
-R, --block-number show block number within archive with each message
-w, --interactive ask for confirmation for every action
--confirmation same as -w
Compatibility options:
-o when creating, same as --old-archive
when extracting, same as --no-same-owner
-o when creating, same as --old-archive
when extracting, same as --no-same-owner
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:
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
nil, existing numbered if numbered backups exist, simple otherwise
never, simple always make simple backups
ARCHIVE may be FILE, HOST:FILE or
USER@HOST:FILE
; DATE may be a textual date
or a file name starting with `/' or `.', in which case the file's date is used.
*This* `tar' defaults to `--format=gnu -f- -b20'.
or a file name starting with `/' or `.', in which case the file's date is used.
*This* `tar' defaults to `--format=gnu -f- -b20'.
Report bugs to <
bug-tar@gnu.org
>.
转载于:https://blog.51cto.com/victory15/339061