Skip to content

Instantly share code, notes, and snippets.

@ekortright
Created September 5, 2013 16:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ekortright/6452737 to your computer and use it in GitHub Desktop.
Save ekortright/6452737 to your computer and use it in GitHub Desktop.
man gtar
TAR(1) User Commands TAR(1)
NAME
tar - manual page for tar 1.23
SYNOPSIS
tar [OPTION...] [FILE]...
DESCRIPTION
GNU 'tar' saves many files together into a single tape or disk archive,
and can restore individual files from the archive.
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.
Main operation mode:
-A, --catenate, --concatenate
append tar files to an archive
-c, --create
create a new archive
-d, --diff, --compare
find differences between archive and file system
--delete
delete from the archive (not on mag tapes!)
-r, --append
append files to the end of an archive
-t, --list
list the contents of an archive
--test-label
test the archive volume label and exit
-u, --update
only append files newer than copy in archive
-x, --extract, --get
extract files from an archive
-C, --directory=DIR
change to directory DIR
-f, --file=ARCHIVE
use archive file or device ARCHIVE
-j, --bzip2
filter the archive through bzip2
-J, --xz
filter the archive through xz
-p, --preserve-permissions
extract information about file permissions (default for supe-
ruser)
-v, --verbose
verbosely list files processed
-z, --gzip
filter the archive through gzip
Operation modifiers:
--check-device
check device numbers when creating incremental archives
(default)
-g, --listed-incremental=FILE
handle new GNU-format incremental backup
-G, --incremental
handle old GNU-format incremental backup
--ignore-failed-read
do not exit with nonzero on unreadable files
--level=NUMBER
dump level for created listed-incremental archive
-n, --seek
archive is seekable
--no-check-device
do not check device numbers when creating incremental archives
--no-seek
archive is not seekable
--occurrence[=NUMBER]
process only the NUMBERth 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 the -T
option; NUMBER defaults to 1
--sparse-version=MAJOR[.MINOR]
set version of the sparse format to use (implies --sparse)
-S, --sparse
handle sparse files efficiently
Overwrite control:
-k, --keep-old-files
don't replace existing files when extracting, treat them as
errors
--skip-old-files
don't replace existing files when extracting, silently skip over
them
--keep-newer-files
don't replace existing files that are newer than their archive
copies
--no-overwrite-dir
preserve metadata of existing directories
--overwrite
overwrite existing files when extracting
--overwrite-dir
overwrite metadata of existing directories when extracting
(default)
--recursive-unlink
empty hierarchies prior to extracting directory
--remove-files
remove files after adding them to the archive
-U, --unlink-first
remove each file prior to extracting over it
-W, --verify
attempt to verify the archive after writing it
Select output stream:
--ignore-command-error ignore exit codes of children
--no-ignore-command-error
treat non-zero exit codes of children as error
-O, --to-stdout
extract files to standard output
--to-command=COMMAND
pipe extracted files to another program
Handling of file attributes:
--acls Save the ACLs to the archive
--atime-preserve[=METHOD]
preserve access times on dumped files, either by restoring the
times after reading (METHOD='replace'; default) or by not set-
ting the times in the first place (METHOD='system')
--delay-directory-restore
delay setting modification times and permissions of extracted
directories until the end of extraction
--group=NAME
force NAME as group for added files
--mode=CHANGES
force (symbolic) mode CHANGES for added files
--mtime=DATE-OR-FILE
set mtime for added files from DATE-OR-FILE
-m, --touch
don't extract file modified time
--no-acls
Don't extract the ACLs from the archive
--no-delay-directory-restore
cancel the effect of --delay-directory-restore option
--no-same-owner
extract files as yourself (default for ordinary users)
--no-same-permissions
apply the user's umask when extracting permissions from the
archive (default for ordinary users)
--no-selinux
Don't extract the SELinux context from the archive
--no-xattrs
Don't extract the user/root xattrs from the archive
--numeric-owner
always use numbers for user/group names
--owner=NAME
force NAME as owner for added files
-p, --preserve-permissions, --same-permissions
extract information about file permissions (default for supe-
ruser)
--preserve
same as both -p and -s
--same-owner
try extracting files with the same ownership as exists in the
archive (default for superuser)
-s, --preserve-order, --same-order
sort names to extract to match archive
--selinux
Save the SELinux context to the archive
--xattrs
Save the user/root xattrs to the archive
Device selection and switching:
-f, --file=ARCHIVE
use archive file or device ARCHIVE
--force-local
archive file is local even if it has a colon
-F, --info-script=NAME, --new-volume-script=NAME
run script at end of each tape (implies -M)
-L, --tape-length=NUMBER
change tape after writing NUMBER x 1024 bytes
-M, --multi-volume
create/list/extract multi-volume archive
--rmt-command=COMMAND
use given rmt COMMAND instead of rmt
--rsh-command=COMMAND
use remote COMMAND instead of rsh
--volno-file=FILE
use/update the volume number in FILE
Device blocking:
-b, --blocking-factor=BLOCKS
BLOCKS x 512 bytes per record
-B, --read-full-records
reblock as we read (for 4.2BSD pipes)
-i, --ignore-zeros
ignore zeroed blocks in archive (means EOF)
--record-size=NUMBER
NUMBER of bytes per record, multiple of 512
Archive format selection:
-H, --format=FORMAT
create archive of the given format
FORMAT is one of the following:
gnu GNU tar 1.13.x format
oldgnu GNU format as per tar <= 1.12
pax POSIX 1003.1-2001 (pax) format
posix same as pax
ustar POSIX 1003.1-1988 (ustar) format
v7 old V7 tar format
--old-archive, --portability
same as --format=v7
--pax-option=keyword[[:]=value][,keyword[[:]=value]]...
control pax keywords
--posix
same as --format=posix
-V, --label=TEXT
create archive with volume name TEXT; at list/extract time, use
TEXT as a globbing pattern for volume name
Compression options:
-a, --auto-compress
use archive suffix to determine the compression program
-I, --use-compress-program=PROG
filter through PROG (must accept -d)
-j, --bzip2
filter the archive through bzip2
-J, --xz
filter the archive through xz
--lzip filter the archive through lzip
--lzma filter the archive through lzma
--lzop
--no-auto-compress
do not use archive suffix to determine the compression program
-z, --gzip, --gunzip, --ungzip
filter the archive through gzip
-Z, --compress, --uncompress
filter the archive through compress
Local file selection:
--add-file=FILE
add given FILE to the archive (useful if its name starts with a
dash)
--backup[=CONTROL]
backup before removal, choose version CONTROL
-C, --directory=DIR
change to directory DIR
--exclude=PATTERN
exclude files, given as a PATTERN
--exclude-backups
exclude backup and lock files
--exclude-caches
exclude contents of directories containing CACHEDIR.TAG, except
for the tag file itself
--exclude-caches-all
exclude directories containing CACHEDIR.TAG
--exclude-caches-under exclude everything under directories containing
CACHEDIR.TAG
--exclude-tag=FILE
exclude contents of directories containing FILE, except for FILE
itself
--exclude-tag-all=FILE exclude directories containing FILE
--exclude-tag-under=FILE
exclude everything under directories containing FILE
--exclude-vcs
exclude version control system directories
-h, --dereference
follow symlinks; archive and dump the files they point to
--hard-dereference
follow hard links; archive and dump the files they refer to
-K, --starting-file=MEMBER-NAME
begin at member MEMBER-NAME in the archive
--newer-mtime=DATE
compare date and time when data changed only
--no-null
disable the effect of the previous --null option
--no-recursion
avoid descending automatically in directories
--no-unquote
do not unquote filenames read with -T
--null -T reads null-terminated names, disable -C
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
only store files newer than DATE-OR-FILE
--one-file-system
stay in local file system when creating archive
-P, --absolute-names
don't strip leading '/'s from file names
--recursion
recurse into directories (default)
--suffix=STRING
backup before removal, override usual suffix ('~' unless over-
ridden by environment variable SIMPLE_BACKUP_SUFFIX)
-T, --files-from=FILE
get names to extract or create from FILE
--unquote
unquote filenames read with -T (default)
-X, --exclude-from=FILE
exclude patterns listed in FILE
File name transformations:
--strip-components=NUMBER
strip NUMBER leading components from file names on extraction
--transform=EXPRESSION, --xform=EXPRESSION
use sed replace EXPRESSION to transform file names
File name matching options (affect both exclude and include pat-
terns):
--anchored
patterns match file name start
--ignore-case
ignore case
--no-anchored
patterns match after any '/' (default for exclusion)
--no-ignore-case
case sensitive matching (default)
--no-wildcards
verbatim string matching
--no-wildcards-match-slash
wildcards do not match '/'
--wildcards
use wildcards (default)
--wildcards-match-slash
wildcards match '/' (default for exclusion)
Informative output:
--checkpoint[=NUMBER]
display progress messages every NUMBERth record (default 10)
--checkpoint-action=ACTION
execute ACTION on each checkpoint
--index-file=FILE
send verbose output to FILE
-l, --check-links
print a message if not all links are dumped
--no-quote-chars=STRING
disable quoting for characters from STRING
--quote-chars=STRING
additionally quote characters from STRING
--quoting-style=STYLE
set name quoting style; see below for valid STYLE values
-R, --block-number
show block number within archive with each message
--show-defaults
show tar defaults
--show-omitted-dirs
when listing or extracting, list each directory that does not
match search criteria
--show-transformed-names, --show-stored-names
show file or archive names after transformation
--totals[=SIGNAL]
print total bytes after processing the archive; with an argument
- print total bytes when this SIGNAL is delivered; Allowed sig-
nals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the
names without SIG prefix are also accepted
--utc print file modification dates in UTC
-v, --verbose
verbosely list files processed
--warning=KEYWORD
warning control
-w, --interactive, --confirmation
ask for confirmation for every action
Compatibility options:
-o when creating, same as --old-archive; when extracting, same as
--no-same-owner
Other options:
-?, --help
give this help list
--restrict
disable use of some potentially harmful options
--usage
give a short usage message
--version
print program version
Mandatory or optional arguments to long options are also mandatory or
optional for any corresponding short options.
The backup suffix is '~', unless set with --suffix or SIM-
PLE_BACKUP_SUFFIX. The version control may be set with --backup or
VERSION_CONTROL, values are:
none, off
never make backups
t, numbered
make numbered backups
nil, existing
numbered if numbered backups exist, simple otherwise
never, simple
always make simple backups
Valid arguments for the --quoting-style option are:
literal shell shell-always c c-maybe escape locale clocale
DEFAULTS
*This* tar defaults to: --format=gnu -f- -b20 --quoting-style=escape
--rmt-command=/sbin/rmt --rsh-command=/usr/bin/rsh
AUTHOR
Written by John Gilmore and Jay Fenlason.
REPORTING BUGS
Report bugs to <bug-tar@gnu.org>.
COPYRIGHT
Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
The full documentation for tar is maintained as a Texinfo manual. If
the info and tar programs are properly installed at your site, the com-
mand
info tar
should give you access to the complete manual.
tar 1.23 March 2012 TAR(1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment