mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-19 08:25:21 +01:00
Qt/QML edition
This commit is contained in:
commit
d7b361ba44
2168 changed files with 721948 additions and 0 deletions
841
dependencies/libarchive-3.4.2/doc/text/bsdtar.1.txt
vendored
Normal file
841
dependencies/libarchive-3.4.2/doc/text/bsdtar.1.txt
vendored
Normal file
|
@ -0,0 +1,841 @@
|
|||
TAR(1) BSD General Commands Manual TAR(1)
|
||||
|
||||
NAME
|
||||
tar -- manipulate tape archives
|
||||
|
||||
SYNOPSIS
|
||||
tar [bundled-flags <args>] [<file> | <pattern> ...]
|
||||
tar {-c} [options] [files | directories]
|
||||
tar {-r | -u} -f archive-file [options] [files | directories]
|
||||
tar {-t | -x} [options] [patterns]
|
||||
|
||||
DESCRIPTION
|
||||
tar creates and manipulates streaming archive files. This implementation
|
||||
can extract from tar, pax, cpio, zip, jar, ar, xar, rpm, 7-zip, and ISO
|
||||
9660 cdrom images and can create tar, pax, cpio, ar, zip, 7-zip, and shar
|
||||
archives.
|
||||
|
||||
The first synopsis form shows a ``bundled'' option word. This usage is
|
||||
provided for compatibility with historical implementations. See COMPATI-
|
||||
BILITY below for details.
|
||||
|
||||
The other synopsis forms show the preferred usage. The first option to
|
||||
tar is a mode indicator from the following list:
|
||||
-c Create a new archive containing the specified items. The long
|
||||
option form is --create.
|
||||
-r Like -c, but new entries are appended to the archive. Note that
|
||||
this only works on uncompressed archives stored in regular files.
|
||||
The -f option is required. The long option form is --append.
|
||||
-t List archive contents to stdout. The long option form is --list.
|
||||
-u Like -r, but new entries are added only if they have a modifica-
|
||||
tion date newer than the corresponding entry in the archive.
|
||||
Note that this only works on uncompressed archives stored in reg-
|
||||
ular files. The -f option is required. The long form is
|
||||
--update.
|
||||
-x Extract to disk from the archive. If a file with the same name
|
||||
appears more than once in the archive, each copy will be
|
||||
extracted, with later copies overwriting (replacing) earlier
|
||||
copies. The long option form is --extract.
|
||||
|
||||
In -c, -r, or -u mode, each specified file or directory is added to the
|
||||
archive in the order specified on the command line. By default, the con-
|
||||
tents of each directory are also archived.
|
||||
|
||||
In extract or list mode, the entire command line is read and parsed
|
||||
before the archive is opened. The pathnames or patterns on the command
|
||||
line indicate which items in the archive should be processed. Patterns
|
||||
are shell-style globbing patterns as documented in tcsh(1).
|
||||
|
||||
OPTIONS
|
||||
Unless specifically stated otherwise, options are applicable in all oper-
|
||||
ating modes.
|
||||
|
||||
@archive
|
||||
(c and r modes only) The specified archive is opened and the
|
||||
entries in it will be appended to the current archive. As a sim-
|
||||
ple example,
|
||||
tar -c -f - newfile @original.tar
|
||||
writes a new archive to standard output containing a file newfile
|
||||
and all of the entries from original.tar. In contrast,
|
||||
tar -c -f - newfile original.tar
|
||||
creates a new archive with only two entries. Similarly,
|
||||
tar -czf - --format pax @-
|
||||
reads an archive from standard input (whose format will be deter-
|
||||
mined automatically) and converts it into a gzip-compressed pax-
|
||||
format archive on stdout. In this way, tar can be used to con-
|
||||
vert archives from one format to another.
|
||||
|
||||
-a, --auto-compress
|
||||
(c mode only) Use the archive suffix to decide a set of the for-
|
||||
mat and the compressions. As a simple example,
|
||||
tar -a -cf archive.tgz source.c source.h
|
||||
creates a new archive with restricted pax format and gzip com-
|
||||
pression,
|
||||
tar -a -cf archive.tar.bz2.uu source.c source.h
|
||||
creates a new archive with restricted pax format and bzip2 com-
|
||||
pression and uuencode compression,
|
||||
tar -a -cf archive.zip source.c source.h
|
||||
creates a new archive with zip format,
|
||||
tar -a -jcf archive.tgz source.c source.h
|
||||
ignores the ``-j'' option, and creates a new archive with
|
||||
restricted pax format and gzip compression,
|
||||
tar -a -jcf archive.xxx source.c source.h
|
||||
if it is unknown suffix or no suffix, creates a new archive with
|
||||
restricted pax format and bzip2 compression.
|
||||
|
||||
--acls (c, r, u, x modes only) Archive or extract POSIX.1e or NFSv4
|
||||
ACLs. This is the reverse of --no-acls and the default behavior
|
||||
in c, r, and u modes (except on Mac OS X) or if tar is run in x
|
||||
mode as root. On Mac OS X this option translates extended ACLs
|
||||
to NFSv4 ACLs. To store extended ACLs the --mac-metadata option
|
||||
is preferred.
|
||||
|
||||
-B, --read-full-blocks
|
||||
Ignored for compatibility with other tar(1) implementations.
|
||||
|
||||
-b blocksize, --block-size blocksize
|
||||
Specify the block size, in 512-byte records, for tape drive I/O.
|
||||
As a rule, this argument is only needed when reading from or
|
||||
writing to tape drives, and usually not even then as the default
|
||||
block size of 20 records (10240 bytes) is very common.
|
||||
|
||||
-C directory, --cd directory, --directory directory
|
||||
In c and r mode, this changes the directory before adding the
|
||||
following files. In x mode, change directories after opening the
|
||||
archive but before extracting entries from the archive.
|
||||
|
||||
--chroot
|
||||
(x mode only) chroot() to the current directory after processing
|
||||
any -C options and before extracting any files.
|
||||
|
||||
--clear-nochange-fflags
|
||||
(x mode only) Before removing file system objects to replace
|
||||
them, clear platform-specific file attributes or file flags that
|
||||
might prevent removal.
|
||||
|
||||
--exclude pattern
|
||||
Do not process files or directories that match the specified pat-
|
||||
tern. Note that exclusions take precedence over patterns or
|
||||
filenames specified on the command line.
|
||||
|
||||
--exclude-vcs
|
||||
Do not process files or directories internally used by the ver-
|
||||
sion control systems 'Arch', 'Bazaar', 'CVS', 'Darcs',
|
||||
'Mercurial', 'RCS', 'SCCS', 'SVN' and 'git'.
|
||||
|
||||
--fflags
|
||||
(c, r, u, x modes only) Archive or extract platform-specific file
|
||||
attributes or file flags. This is the reverse of --no-fflags and
|
||||
the default behavior in c, r, and u modes or if tar is run in x
|
||||
mode as root.
|
||||
|
||||
--format format
|
||||
(c, r, u mode only) Use the specified format for the created ar-
|
||||
chive. Supported formats include ``cpio'', ``pax'', ``shar'',
|
||||
and ``ustar''. Other formats may also be supported; see
|
||||
libarchive-formats(5) for more information about currently-sup-
|
||||
ported formats. In r and u modes, when extending an existing ar-
|
||||
chive, the format specified here must be compatible with the for-
|
||||
mat of the existing archive on disk.
|
||||
|
||||
-f file, --file file
|
||||
Read the archive from or write the archive to the specified file.
|
||||
The filename can be - for standard input or standard output. The
|
||||
default varies by system; on FreeBSD, the default is /dev/sa0; on
|
||||
Linux, the default is /dev/st0.
|
||||
|
||||
--gid id
|
||||
Use the provided group id number. On extract, this overrides the
|
||||
group id in the archive; the group name in the archive will be
|
||||
ignored. On create, this overrides the group id read from disk;
|
||||
if --gname is not also specified, the group name will be set to
|
||||
match the group id.
|
||||
|
||||
--gname name
|
||||
Use the provided group name. On extract, this overrides the
|
||||
group name in the archive; if the provided group name does not
|
||||
exist on the system, the group id (from the archive or from the
|
||||
--gid option) will be used instead. On create, this sets the
|
||||
group name that will be stored in the archive; the name will not
|
||||
be verified against the system group database.
|
||||
|
||||
-H (c and r modes only) Symbolic links named on the command line
|
||||
will be followed; the target of the link will be archived, not
|
||||
the link itself.
|
||||
|
||||
-h (c and r modes only) Synonym for -L.
|
||||
|
||||
-I Synonym for -T.
|
||||
|
||||
--help Show usage.
|
||||
|
||||
--hfsCompression
|
||||
(x mode only) Mac OS X specific (v10.6 or later). Compress
|
||||
extracted regular files with HFS+ compression.
|
||||
|
||||
--ignore-zeros
|
||||
An alias of --options read_concatenated_archives for compatibil-
|
||||
ity with GNU tar.
|
||||
|
||||
--include pattern
|
||||
Process only files or directories that match the specified pat-
|
||||
tern. Note that exclusions specified with --exclude take prece-
|
||||
dence over inclusions. If no inclusions are explicitly speci-
|
||||
fied, all entries are processed by default. The --include option
|
||||
is especially useful when filtering archives. For example, the
|
||||
command
|
||||
tar -c -f new.tar --include='*foo*' @old.tgz
|
||||
creates a new archive new.tar containing only the entries from
|
||||
old.tgz containing the string 'foo'.
|
||||
|
||||
-J, --xz
|
||||
(c mode only) Compress the resulting archive with xz(1). In
|
||||
extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes XZ compression automatically when
|
||||
reading archives.
|
||||
|
||||
-j, --bzip, --bzip2, --bunzip2
|
||||
(c mode only) Compress the resulting archive with bzip2(1). In
|
||||
extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes bzip2 compression automatically
|
||||
when reading archives.
|
||||
|
||||
-k, --keep-old-files
|
||||
(x mode only) Do not overwrite existing files. In particular, if
|
||||
a file appears more than once in an archive, later copies will
|
||||
not overwrite earlier copies.
|
||||
|
||||
--keep-newer-files
|
||||
(x mode only) Do not overwrite existing files that are newer than
|
||||
the versions appearing in the archive being extracted.
|
||||
|
||||
-L, --dereference
|
||||
(c and r modes only) All symbolic links will be followed. Nor-
|
||||
mally, symbolic links are archived as such. With this option,
|
||||
the target of the link will be archived instead.
|
||||
|
||||
-l, --check-links
|
||||
(c and r modes only) Issue a warning message unless all links to
|
||||
each file are archived.
|
||||
|
||||
--lrzip
|
||||
(c mode only) Compress the resulting archive with lrzip(1). In
|
||||
extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes lrzip compression automatically
|
||||
when reading archives.
|
||||
|
||||
--lz4 (c mode only) Compress the archive with lz4-compatible compres-
|
||||
sion before writing it. In extract or list modes, this option is
|
||||
ignored. Note that this tar implementation recognizes lz4 com-
|
||||
pression automatically when reading archives.
|
||||
|
||||
--zstd (c mode only) Compress the archive with zstd-compatible compres-
|
||||
sion before writing it. In extract or list modes, this option is
|
||||
ignored. Note that this tar implementation recognizes zstd com-
|
||||
pression automatically when reading archives.
|
||||
|
||||
--lzma (c mode only) Compress the resulting archive with the original
|
||||
LZMA algorithm. In extract or list modes, this option is
|
||||
ignored. Use of this option is discouraged and new archives
|
||||
should be created with --xz instead. Note that this tar imple-
|
||||
mentation recognizes LZMA compression automatically when reading
|
||||
archives.
|
||||
|
||||
--lzop (c mode only) Compress the resulting archive with lzop(1). In
|
||||
extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes LZO compression automatically when
|
||||
reading archives.
|
||||
|
||||
-m, --modification-time
|
||||
(x mode only) Do not extract modification time. By default, the
|
||||
modification time is set to the time stored in the archive.
|
||||
|
||||
--mac-metadata
|
||||
(c, r, u and x mode only) Mac OS X specific. Archive or extract
|
||||
extended ACLs and extended file attributes using copyfile(3) in
|
||||
AppleDouble format. This is the reverse of --no-mac-metadata.
|
||||
and the default behavior in c, r, and u modes or if tar is run in
|
||||
x mode as root.
|
||||
|
||||
-n, --norecurse, --no-recursion
|
||||
Do not operate recursively on the content of directories.
|
||||
|
||||
--newer date
|
||||
(c, r, u modes only) Only include files and directories newer
|
||||
than the specified date. This compares ctime entries.
|
||||
|
||||
--newer-mtime date
|
||||
(c, r, u modes only) Like --newer, except it compares mtime
|
||||
entries instead of ctime entries.
|
||||
|
||||
--newer-than file
|
||||
(c, r, u modes only) Only include files and directories newer
|
||||
than the specified file. This compares ctime entries.
|
||||
|
||||
--newer-mtime-than file
|
||||
(c, r, u modes only) Like --newer-than, except it compares mtime
|
||||
entries instead of ctime entries.
|
||||
|
||||
--nodump
|
||||
(c and r modes only) Honor the nodump file flag by skipping this
|
||||
file.
|
||||
|
||||
--nopreserveHFSCompression
|
||||
(x mode only) Mac OS X specific (v10.6 or later). Do not compress
|
||||
extracted regular files which were compressed with HFS+ compres-
|
||||
sion before archived. By default, compress the regular files
|
||||
again with HFS+ compression.
|
||||
|
||||
--null (use with -I or -T) Filenames or patterns are separated by null
|
||||
characters, not by newlines. This is often used to read file-
|
||||
names output by the -print0 option to find(1).
|
||||
|
||||
--no-acls
|
||||
(c, r, u, x modes only) Do not archive or extract POSIX.1e or
|
||||
NFSv4 ACLs. This is the reverse of --acls and the default behav-
|
||||
ior if tar is run as non-root in x mode (on Mac OS X as any user
|
||||
in c, r, u and x modes).
|
||||
|
||||
--no-fflags
|
||||
(c, r, u, x modes only) Do not archive or extract file attributes
|
||||
or file flags. This is the reverse of --fflags and the default
|
||||
behavior if tar is run as non-root in x mode.
|
||||
|
||||
--no-mac-metadata
|
||||
(x mode only) Mac OS X specific. Do not archive or extract ACLs
|
||||
and extended file attributes using copyfile(3) in AppleDouble
|
||||
format. This is the reverse of --mac-metadata. and the default
|
||||
behavior if tar is run as non-root in x mode.
|
||||
|
||||
--no-safe-writes
|
||||
(x mode only) Do not create temporary files and use rename(2) to
|
||||
replace the original ones. This is the reverse of --safe-writes.
|
||||
|
||||
--no-same-owner
|
||||
(x mode only) Do not extract owner and group IDs. This is the
|
||||
reverse of --same-owner and the default behavior if tar is run as
|
||||
non-root.
|
||||
|
||||
--no-same-permissions
|
||||
(x mode only) Do not extract full permissions (SGID, SUID, sticky
|
||||
bit, file attributes or file flags, extended file attributes and
|
||||
ACLs). This is the reverse of -p and the default behavior if tar
|
||||
is run as non-root.
|
||||
|
||||
--no-xattrs
|
||||
(c, r, u, x modes only) Do not archive or extract extended file
|
||||
attributes. This is the reverse of --xattrs and the default
|
||||
behavior if tar is run as non-root in x mode.
|
||||
|
||||
--numeric-owner
|
||||
This is equivalent to --uname "" --gname "". On extract, it
|
||||
causes user and group names in the archive to be ignored in favor
|
||||
of the numeric user and group ids. On create, it causes user and
|
||||
group names to not be stored in the archive.
|
||||
|
||||
-O, --to-stdout
|
||||
(x, t modes only) In extract (-x) mode, files will be written to
|
||||
standard out rather than being extracted to disk. In list (-t)
|
||||
mode, the file listing will be written to stderr rather than the
|
||||
usual stdout.
|
||||
|
||||
-o (x mode) Use the user and group of the user running the program
|
||||
rather than those specified in the archive. Note that this has
|
||||
no significance unless -p is specified, and the program is being
|
||||
run by the root user. In this case, the file modes and flags
|
||||
from the archive will be restored, but ACLs or owner information
|
||||
in the archive will be discarded.
|
||||
|
||||
-o (c, r, u mode) A synonym for --format ustar
|
||||
|
||||
--older date
|
||||
(c, r, u modes only) Only include files and directories older
|
||||
than the specified date. This compares ctime entries.
|
||||
|
||||
--older-mtime date
|
||||
(c, r, u modes only) Like --older, except it compares mtime
|
||||
entries instead of ctime entries.
|
||||
|
||||
--older-than file
|
||||
(c, r, u modes only) Only include files and directories older
|
||||
than the specified file. This compares ctime entries.
|
||||
|
||||
--older-mtime-than file
|
||||
(c, r, u modes only) Like --older-than, except it compares mtime
|
||||
entries instead of ctime entries.
|
||||
|
||||
--one-file-system
|
||||
(c, r, and u modes) Do not cross mount points.
|
||||
|
||||
--options options
|
||||
Select optional behaviors for particular modules. The argument
|
||||
is a text string containing comma-separated keywords and values.
|
||||
These are passed to the modules that handle particular formats to
|
||||
control how those formats will behave. Each option has one of
|
||||
the following forms:
|
||||
key=value
|
||||
The key will be set to the specified value in every mod-
|
||||
ule that supports it. Modules that do not support this
|
||||
key will ignore it.
|
||||
key The key will be enabled in every module that supports it.
|
||||
This is equivalent to key=1.
|
||||
!key The key will be disabled in every module that supports
|
||||
it.
|
||||
module:key=value, module:key, module:!key
|
||||
As above, but the corresponding key and value will be
|
||||
provided only to modules whose name matches module.
|
||||
|
||||
The complete list of supported modules and keys for create and
|
||||
append modes is in archive_write_set_options(3) and for extract
|
||||
and list modes in archive_read_set_options(3).
|
||||
|
||||
Examples of supported options:
|
||||
iso9660:joliet
|
||||
Support Joliet extensions. This is enabled by default,
|
||||
use !joliet or iso9660:!joliet to disable.
|
||||
iso9660:rockridge
|
||||
Support Rock Ridge extensions. This is enabled by
|
||||
default, use !rockridge or iso9660:!rockridge to disable.
|
||||
gzip:compression-level
|
||||
A decimal integer from 1 to 9 specifying the gzip com-
|
||||
pression level.
|
||||
gzip:timestamp
|
||||
Store timestamp. This is enabled by default, use
|
||||
!timestamp or gzip:!timestamp to disable.
|
||||
lrzip:compression=type
|
||||
Use type as compression method. Supported values are
|
||||
bzip2, gzip, lzo (ultra fast), and zpaq (best, extremely
|
||||
slow).
|
||||
lrzip:compression-level
|
||||
A decimal integer from 1 to 9 specifying the lrzip com-
|
||||
pression level.
|
||||
lz4:compression-level
|
||||
A decimal integer from 1 to 9 specifying the lzop com-
|
||||
pression level.
|
||||
lz4:stream-checksum
|
||||
Enable stream checksum. This is by default, use
|
||||
lz4:!stream-checksum to disable.
|
||||
lz4:block-checksum
|
||||
Enable block checksum (Disabled by default).
|
||||
lz4:block-size
|
||||
A decimal integer from 4 to 7 specifying the lz4 compres-
|
||||
sion block size (7 is set by default).
|
||||
lz4:block-dependence
|
||||
Use the previous block of the block being compressed for
|
||||
a compression dictionary to improve compression ratio.
|
||||
zstd:compression-level
|
||||
A decimal integer from 1 to 22 specifying the zstd com-
|
||||
pression level.
|
||||
lzop:compression-level
|
||||
A decimal integer from 1 to 9 specifying the lzop com-
|
||||
pression level.
|
||||
xz:compression-level
|
||||
A decimal integer from 0 to 9 specifying the xz compres-
|
||||
sion level.
|
||||
mtree:keyword
|
||||
The mtree writer module allows you to specify which mtree
|
||||
keywords will be included in the output. Supported key-
|
||||
words include: cksum, device, flags, gid, gname, indent,
|
||||
link, md5, mode, nlink, rmd160, sha1, sha256, sha384,
|
||||
sha512, size, time, uid, uname. The default is equiva-
|
||||
lent to: ``device, flags, gid, gname, link, mode, nlink,
|
||||
size, time, type, uid, uname''.
|
||||
mtree:all
|
||||
Enables all of the above keywords. You can also use
|
||||
mtree:!all to disable all keywords.
|
||||
mtree:use-set
|
||||
Enable generation of /set lines in the output.
|
||||
mtree:indent
|
||||
Produce human-readable output by indenting options and
|
||||
splitting lines to fit into 80 columns.
|
||||
zip:compression=type
|
||||
Use type as compression method. Supported values are
|
||||
store (uncompressed) and deflate (gzip algorithm).
|
||||
zip:encryption
|
||||
Enable encryption using traditional zip encryption.
|
||||
zip:encryption=type
|
||||
Use type as encryption type. Supported values are
|
||||
zipcrypt (traditional zip encryption), aes128 (WinZip
|
||||
AES-128 encryption) and aes256 (WinZip AES-256 encryp-
|
||||
tion).
|
||||
read_concatenated_archives
|
||||
Ignore zeroed blocks in the archive, which occurs when
|
||||
multiple tar archives have been concatenated together.
|
||||
Without this option, only the contents of the first con-
|
||||
catenated archive would be read. This option is compara-
|
||||
ble to the -i, --ignore-zeros option of GNU tar.
|
||||
If a provided option is not supported by any module, that is a
|
||||
fatal error.
|
||||
|
||||
-P, --absolute-paths
|
||||
Preserve pathnames. By default, absolute pathnames (those that
|
||||
begin with a / character) have the leading slash removed both
|
||||
when creating archives and extracting from them. Also, tar will
|
||||
refuse to extract archive entries whose pathnames contain .. or
|
||||
whose target directory would be altered by a symlink. This
|
||||
option suppresses these behaviors.
|
||||
|
||||
-p, --insecure, --preserve-permissions
|
||||
(x mode only) Preserve file permissions. Attempt to restore the
|
||||
full permissions, including file modes, file attributes or file
|
||||
flags, extended file attributes and ACLs, if available, for each
|
||||
item extracted from the archive. This is the reverse of
|
||||
--no-same-permissions and the default if tar is being run as
|
||||
root. It can be partially overridden by also specifying
|
||||
--no-acls, --no-fflags, --no-mac-metadata or --no-xattrs.
|
||||
|
||||
--passphrase passphrase
|
||||
The passphrase is used to extract or create an encrypted archive.
|
||||
Currently, zip is the only supported format that supports encryp-
|
||||
tion. You shouldn't use this option unless you realize how inse-
|
||||
cure use of this option is.
|
||||
|
||||
--posix
|
||||
(c, r, u mode only) Synonym for --format pax
|
||||
|
||||
-q, --fast-read
|
||||
(x and t mode only) Extract or list only the first archive entry
|
||||
that matches each pattern or filename operand. Exit as soon as
|
||||
each specified pattern or filename has been matched. By default,
|
||||
the archive is always read to the very end, since there can be
|
||||
multiple entries with the same name and, by convention, later
|
||||
entries overwrite earlier entries. This option is provided as a
|
||||
performance optimization.
|
||||
|
||||
-S (x mode only) Extract files as sparse files. For every block on
|
||||
disk, check first if it contains only NULL bytes and seek over it
|
||||
otherwise. This works similar to the conv=sparse option of dd.
|
||||
|
||||
-s pattern
|
||||
Modify file or archive member names according to pattern. The
|
||||
pattern has the format /old/new/[ghHprRsS] where old is a basic
|
||||
regular expression, new is the replacement string of the matched
|
||||
part, and the optional trailing letters modify how the replace-
|
||||
ment is handled. If old is not matched, the pattern is skipped.
|
||||
Within new, ~ is substituted with the match, \1 to \9 with the
|
||||
content of the corresponding captured group. The optional trail-
|
||||
ing g specifies that matching should continue after the matched
|
||||
part and stop on the first unmatched pattern. The optional
|
||||
trailing s specifies that the pattern applies to the value of
|
||||
symbolic links. The optional trailing p specifies that after a
|
||||
successful substitution the original path name and the new path
|
||||
name should be printed to standard error. Optional trailing H,
|
||||
R, or S characters suppress substitutions for hardlink targets,
|
||||
regular filenames, or symlink targets, respectively. Optional
|
||||
trailing h, r, or s characters enable substitutions for hardlink
|
||||
targets, regular filenames, or symlink targets, respectively.
|
||||
The default is hrs which applies substitutions to all names. In
|
||||
particular, it is never necessary to specify h, r, or s.
|
||||
|
||||
--safe-writes
|
||||
(x mode only) Extract files atomically. By default tar unlinks
|
||||
the original file with the same name as the extracted file (if it
|
||||
exists), and then creates it immediately under the same name and
|
||||
writes to it. For a short period of time, applications trying to
|
||||
access the file might not find it, or see incomplete results. If
|
||||
--safe-writes is enabled, tar first creates a unique temporary
|
||||
file, then writes the new contents to the temporary file, and
|
||||
finally renames the temporary file to its final name atomically
|
||||
using rename(2). This guarantees that an application accessing
|
||||
the file, will either see the old contents or the new contents at
|
||||
all times.
|
||||
|
||||
--same-owner
|
||||
(x mode only) Extract owner and group IDs. This is the reverse
|
||||
of --no-same-owner and the default behavior if tar is run as
|
||||
root.
|
||||
|
||||
--strip-components count
|
||||
Remove the specified number of leading path elements. Pathnames
|
||||
with fewer elements will be silently skipped. Note that the
|
||||
pathname is edited after checking inclusion/exclusion patterns
|
||||
but before security checks.
|
||||
|
||||
-T filename, --files-from filename
|
||||
In x or t mode, tar will read the list of names to be extracted
|
||||
from filename. In c mode, tar will read names to be archived
|
||||
from filename. The special name ``-C'' on a line by itself will
|
||||
cause the current directory to be changed to the directory speci-
|
||||
fied on the following line. Names are terminated by newlines
|
||||
unless --null is specified. Note that --null also disables the
|
||||
special handling of lines containing ``-C''. Note: If you are
|
||||
generating lists of files using find(1), you probably want to use
|
||||
-n as well.
|
||||
|
||||
--totals
|
||||
(c, r, u modes only) After archiving all files, print a summary
|
||||
to stderr.
|
||||
|
||||
-U, --unlink, --unlink-first
|
||||
(x mode only) Unlink files before creating them. This can be a
|
||||
minor performance optimization if most files already exist, but
|
||||
can make things slower if most files do not already exist. This
|
||||
flag also causes tar to remove intervening directory symlinks
|
||||
instead of reporting an error. See the SECURITY section below
|
||||
for more details.
|
||||
|
||||
--uid id
|
||||
Use the provided user id number and ignore the user name from the
|
||||
archive. On create, if --uname is not also specified, the user
|
||||
name will be set to match the user id.
|
||||
|
||||
--uname name
|
||||
Use the provided user name. On extract, this overrides the user
|
||||
name in the archive; if the provided user name does not exist on
|
||||
the system, it will be ignored and the user id (from the archive
|
||||
or from the --uid option) will be used instead. On create, this
|
||||
sets the user name that will be stored in the archive; the name
|
||||
is not verified against the system user database.
|
||||
|
||||
--use-compress-program program
|
||||
Pipe the input (in x or t mode) or the output (in c mode) through
|
||||
program instead of using the builtin compression support.
|
||||
|
||||
-v, --verbose
|
||||
Produce verbose output. In create and extract modes, tar will
|
||||
list each file name as it is read from or written to the archive.
|
||||
In list mode, tar will produce output similar to that of ls(1).
|
||||
An additional -v option will also provide ls-like details in cre-
|
||||
ate and extract mode.
|
||||
|
||||
--version
|
||||
Print version of tar and libarchive, and exit.
|
||||
|
||||
-w, --confirmation, --interactive
|
||||
Ask for confirmation for every action.
|
||||
|
||||
-X filename, --exclude-from filename
|
||||
Read a list of exclusion patterns from the specified file. See
|
||||
--exclude for more information about the handling of exclusions.
|
||||
|
||||
--xattrs
|
||||
(c, r, u, x modes only) Archive or extract extended file
|
||||
attributes. This is the reverse of --no-xattrs and the default
|
||||
behavior in c, r, and u modes or if tar is run in x mode as root.
|
||||
|
||||
-y (c mode only) Compress the resulting archive with bzip2(1). In
|
||||
extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes bzip2 compression automatically
|
||||
when reading archives.
|
||||
|
||||
-Z, --compress, --uncompress
|
||||
(c mode only) Compress the resulting archive with compress(1).
|
||||
In extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes compress compression automatically
|
||||
when reading archives.
|
||||
|
||||
-z, --gunzip, --gzip
|
||||
(c mode only) Compress the resulting archive with gzip(1). In
|
||||
extract or list modes, this option is ignored. Note that this
|
||||
tar implementation recognizes gzip compression automatically when
|
||||
reading archives.
|
||||
|
||||
ENVIRONMENT
|
||||
The following environment variables affect the execution of tar:
|
||||
|
||||
TAR_READER_OPTIONS
|
||||
The default options for format readers and compression read-
|
||||
ers. The --options option overrides this.
|
||||
|
||||
TAR_WRITER_OPTIONS
|
||||
The default options for format writers and compression writ-
|
||||
ers. The --options option overrides this.
|
||||
|
||||
LANG The locale to use. See environ(7) for more information.
|
||||
|
||||
TAPE The default device. The -f option overrides this. Please see
|
||||
the description of the -f option above for more details.
|
||||
|
||||
TZ The timezone to use when displaying dates. See environ(7) for
|
||||
more information.
|
||||
|
||||
EXIT STATUS
|
||||
The tar utility exits 0 on success, and >0 if an error occurs.
|
||||
|
||||
EXAMPLES
|
||||
The following creates a new archive called file.tar.gz that contains two
|
||||
files source.c and source.h:
|
||||
tar -czf file.tar.gz source.c source.h
|
||||
|
||||
To view a detailed table of contents for this archive:
|
||||
tar -tvf file.tar.gz
|
||||
|
||||
To extract all entries from the archive on the default tape drive:
|
||||
tar -x
|
||||
|
||||
To examine the contents of an ISO 9660 cdrom image:
|
||||
tar -tf image.iso
|
||||
|
||||
To move file hierarchies, invoke tar as
|
||||
tar -cf - -C srcdir . | tar -xpf - -C destdir
|
||||
or more traditionally
|
||||
cd srcdir ; tar -cf - . | (cd destdir ; tar -xpf -)
|
||||
|
||||
In create mode, the list of files and directories to be archived can also
|
||||
include directory change instructions of the form -Cfoo/baz and archive
|
||||
inclusions of the form @archive-file. For example, the command line
|
||||
tar -c -f new.tar foo1 @old.tgz -C/tmp foo2
|
||||
will create a new archive new.tar. tar will read the file foo1 from the
|
||||
current directory and add it to the output archive. It will then read
|
||||
each entry from old.tgz and add those entries to the output archive.
|
||||
Finally, it will switch to the /tmp directory and add foo2 to the output
|
||||
archive.
|
||||
|
||||
An input file in mtree(5) format can be used to create an output archive
|
||||
with arbitrary ownership, permissions, or names that differ from existing
|
||||
data on disk:
|
||||
|
||||
$ cat input.mtree
|
||||
#mtree
|
||||
usr/bin uid=0 gid=0 mode=0755 type=dir
|
||||
usr/bin/ls uid=0 gid=0 mode=0755 type=file content=myls
|
||||
$ tar -cvf output.tar @input.mtree
|
||||
|
||||
The --newer and --newer-mtime switches accept a variety of common date
|
||||
and time specifications, including ``12 Mar 2005 7:14:29pm'',
|
||||
``2005-03-12 19:14'', ``5 minutes ago'', and ``19:14 PST May 1''.
|
||||
|
||||
The --options argument can be used to control various details of archive
|
||||
generation or reading. For example, you can generate mtree output which
|
||||
only contains type, time, and uid keywords:
|
||||
tar -cf file.tar --format=mtree --options='!all,type,time,uid' dir
|
||||
or you can set the compression level used by gzip or xz compression:
|
||||
tar -czf file.tar --options='compression-level=9'.
|
||||
For more details, see the explanation of the archive_read_set_options()
|
||||
and archive_write_set_options() API calls that are described in
|
||||
archive_read(3) and archive_write(3).
|
||||
|
||||
COMPATIBILITY
|
||||
The bundled-arguments format is supported for compatibility with historic
|
||||
implementations. It consists of an initial word (with no leading - char-
|
||||
acter) in which each character indicates an option. Arguments follow as
|
||||
separate words. The order of the arguments must match the order of the
|
||||
corresponding characters in the bundled command word. For example,
|
||||
tar tbf 32 file.tar
|
||||
specifies three flags t, b, and f. The b and f flags both require argu-
|
||||
ments, so there must be two additional items on the command line. The 32
|
||||
is the argument to the b flag, and file.tar is the argument to the f
|
||||
flag.
|
||||
|
||||
The mode options c, r, t, u, and x and the options b, f, l, m, o, v, and
|
||||
w comply with SUSv2.
|
||||
|
||||
For maximum portability, scripts that invoke tar should use the bundled-
|
||||
argument format above, should limit themselves to the c, t, and x modes,
|
||||
and the b, f, m, v, and w options.
|
||||
|
||||
Additional long options are provided to improve compatibility with other
|
||||
tar implementations.
|
||||
|
||||
SECURITY
|
||||
Certain security issues are common to many archiving programs, including
|
||||
tar. In particular, carefully-crafted archives can request that tar
|
||||
extract files to locations outside of the target directory. This can
|
||||
potentially be used to cause unwitting users to overwrite files they did
|
||||
not intend to overwrite. If the archive is being extracted by the supe-
|
||||
ruser, any file on the system can potentially be overwritten. There are
|
||||
three ways this can happen. Although tar has mechanisms to protect
|
||||
against each one, savvy users should be aware of the implications:
|
||||
|
||||
o Archive entries can have absolute pathnames. By default, tar
|
||||
removes the leading / character from filenames before restoring
|
||||
them to guard against this problem.
|
||||
|
||||
o Archive entries can have pathnames that include .. components.
|
||||
By default, tar will not extract files containing .. components
|
||||
in their pathname.
|
||||
|
||||
o Archive entries can exploit symbolic links to restore files to
|
||||
other directories. An archive can restore a symbolic link to
|
||||
another directory, then use that link to restore a file into that
|
||||
directory. To guard against this, tar checks each extracted path
|
||||
for symlinks. If the final path element is a symlink, it will be
|
||||
removed and replaced with the archive entry. If -U is specified,
|
||||
any intermediate symlink will also be unconditionally removed.
|
||||
If neither -U nor -P is specified, tar will refuse to extract the
|
||||
entry.
|
||||
To protect yourself, you should be wary of any archives that come from
|
||||
untrusted sources. You should examine the contents of an archive with
|
||||
tar -tf filename
|
||||
before extraction. You should use the -k option to ensure that tar will
|
||||
not overwrite any existing files or the -U option to remove any pre-
|
||||
existing files. You should generally not extract archives while running
|
||||
with super-user privileges. Note that the -P option to tar disables the
|
||||
security checks above and allows you to extract an archive while preserv-
|
||||
ing any absolute pathnames, .. components, or symlinks to other directo-
|
||||
ries.
|
||||
|
||||
SEE ALSO
|
||||
bzip2(1), compress(1), cpio(1), gzip(1), mt(1), pax(1), shar(1), xz(1),
|
||||
libarchive(3), libarchive-formats(5), tar(5)
|
||||
|
||||
STANDARDS
|
||||
There is no current POSIX standard for the tar command; it appeared in
|
||||
ISO/IEC 9945-1:1996 (``POSIX.1'') but was dropped from IEEE Std
|
||||
1003.1-2001 (``POSIX.1''). The options supported by this implementation
|
||||
were developed by surveying a number of existing tar implementations as
|
||||
well as the old POSIX specification for tar and the current POSIX speci-
|
||||
fication for pax.
|
||||
|
||||
The ustar and pax interchange file formats are defined by IEEE Std
|
||||
1003.1-2001 (``POSIX.1'') for the pax command.
|
||||
|
||||
HISTORY
|
||||
A tar command appeared in Seventh Edition Unix, which was released in
|
||||
January, 1979. There have been numerous other implementations, many of
|
||||
which extended the file format. John Gilmore's pdtar public-domain
|
||||
implementation (circa November, 1987) was quite influential, and formed
|
||||
the basis of GNU tar. GNU tar was included as the standard system tar in
|
||||
FreeBSD beginning with FreeBSD 1.0.
|
||||
|
||||
This is a complete re-implementation based on the libarchive(3) library.
|
||||
It was first released with FreeBSD 5.4 in May, 2005.
|
||||
|
||||
BUGS
|
||||
This program follows ISO/IEC 9945-1:1996 (``POSIX.1'') for the definition
|
||||
of the -l option. Note that GNU tar prior to version 1.15 treated -l as
|
||||
a synonym for the --one-file-system option.
|
||||
|
||||
The -C dir option may differ from historic implementations.
|
||||
|
||||
All archive output is written in correctly-sized blocks, even if the out-
|
||||
put is being compressed. Whether or not the last output block is padded
|
||||
to a full block size varies depending on the format and the output
|
||||
device. For tar and cpio formats, the last block of output is padded to
|
||||
a full block size if the output is being written to standard output or to
|
||||
a character or block device such as a tape drive. If the output is being
|
||||
written to a regular file, the last block will not be padded. Many com-
|
||||
pressors, including gzip(1) and bzip2(1), complain about the null padding
|
||||
when decompressing an archive created by tar, although they still extract
|
||||
it correctly.
|
||||
|
||||
The compression and decompression is implemented internally, so there may
|
||||
be insignificant differences between the compressed output generated by
|
||||
tar -czf - file
|
||||
and that generated by
|
||||
tar -cf - file | gzip
|
||||
|
||||
The default should be to read and write archives to the standard I/O
|
||||
paths, but tradition (and POSIX) dictates otherwise.
|
||||
|
||||
The r and u modes require that the archive be uncompressed and located in
|
||||
a regular file on disk. Other archives can be modified using c mode with
|
||||
the @archive-file extension.
|
||||
|
||||
To archive a file called @foo or -foo you must specify it as ./@foo or
|
||||
./-foo, respectively.
|
||||
|
||||
In create mode, a leading ./ is always removed. A leading / is stripped
|
||||
unless the -P option is specified.
|
||||
|
||||
There needs to be better support for file selection on both create and
|
||||
extract.
|
||||
|
||||
There is not yet any support for multi-volume archives.
|
||||
|
||||
Converting between dissimilar archive formats (such as tar and cpio)
|
||||
using the @- convention can cause hard link information to be lost.
|
||||
(This is a consequence of the incompatible ways that different archive
|
||||
formats store hardlink information.)
|
||||
|
||||
BSD January 31, 2020 BSD
|
Loading…
Add table
Add a link
Reference in a new issue