diff options
Diffstat (limited to 'archivers/libarchive/files/doc/wiki/ManPageBsdtar1.wiki')
-rw-r--r-- | archivers/libarchive/files/doc/wiki/ManPageBsdtar1.wiki | 941 |
1 files changed, 941 insertions, 0 deletions
diff --git a/archivers/libarchive/files/doc/wiki/ManPageBsdtar1.wiki b/archivers/libarchive/files/doc/wiki/ManPageBsdtar1.wiki new file mode 100644 index 00000000000..c1fedb14e1e --- /dev/null +++ b/archivers/libarchive/files/doc/wiki/ManPageBsdtar1.wiki @@ -0,0 +1,941 @@ +#summary BSDTAR 1 manual page +== NAME == +*tar* +- manipulate tape archives +== SYNOPSIS == +<br> +*tar* +`[`_bundled-flags_ `<`args`>``]` +`[``<`_file_`>` | `<`_pattern_`>` ...`]` +<br> +*tar* +{*-c*} +`[`_options_`]` +`[`_files_ | _directories_`]` +<br> +*tar* +{*-r* | *-u*} +*-f* _archive-file_ +`[`_options_`]` +`[`_files_ | _directories_`]` +<br> +*tar* +{*-t* | *-x*} +`[`_options_`]` +`[`_patterns_`]` +== DESCRIPTION == +*tar* +creates and manipulates streaming archive files. +This implementation can extract from tar, pax, cpio, zip, jar, ar, +and ISO 9660 cdrom images and can create tar, pax, cpio, ar, +and shar archives. + +The first synopsis form shows a +"bundled" +option word. +This usage is provided for compatibility with historical implementations. +See COMPATIBILITY below for details. + +The other synopsis forms show the preferred usage. +The first option to +*tar* +is a mode indicator from the following list: +<dl> +<dt>*-c*</dt><dd> +Create a new archive containing the specified items. +</dd><dt>*-r*</dt><dd> +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. +</dd><dt>*-t*</dt><dd> +List archive contents to stdout. +</dd><dt>*-u*</dt><dd> +Like +*-r*, +but new entries are added only if they have a modification date +newer than the corresponding entry in the archive. +Note that this only works on uncompressed archives stored in regular files. +The +*-f* +option is required. +</dd><dt>*-x*</dt><dd> +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. +</dd></dl> + +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 contents 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 operating modes. +<dl> +<dt>*@*_archive_</dt><dd> +(c and r mode only) +The specified archive is opened and the entries +in it will be appended to the current archive. +As a simple 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 determined +automatically) and converts it into a gzip-compressed +pax-format archive on stdout. +In this way, +*tar* +can be used to convert archives from one format to another. +</dd><dt>*-b* _blocksize_</dt><dd> +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. +</dd><dt>*-C* _directory_</dt><dd> +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. +</dd><dt>*--check-links*</dt><dd> +(c and r modes only) +Issue a warning message unless all links to each file are archived. +</dd><dt>*--chroot*</dt><dd> +(x mode only) +*chroot*() +to the current directory after processing any +*-C* +options and before extracting any files. +</dd><dt>*--exclude* _pattern_</dt><dd> +Do not process files or directories that match the +specified pattern. +Note that exclusions take precedence over patterns or filenames +specified on the command line. +</dd><dt>*--format* _format_</dt><dd> +(c, r, u mode only) +Use the specified format for the created archive. +Supported formats include +"cpio", +"pax", +"shar", +and +"ustar". +Other formats may also be supported; see +*libarchive-formats*(5) +for more information about currently-supported formats. +In r and u modes, when extending an existing archive, the format specified +here must be compatible with the format of the existing archive on disk. +</dd><dt>*-f* _file_</dt><dd> +Read the archive from or write the archive to the specified file. +The filename can be +_-_ +for standard input or standard output. +If not specified, the default tape device will be used. +(On +FreeBSD, +the default tape device is +_/dev/sa0_.) +</dd><dt>*-H*</dt><dd> +(c and r mode only) +Symbolic links named on the command line will be followed; the +target of the link will be archived, not the link itself. +</dd><dt>*-h*</dt><dd> +(c and r mode only) +Synonym for +*-L*. +</dd><dt>*-I*</dt><dd> +Synonym for +*-T*. +</dd><dt>*--include* _pattern_</dt><dd> +Process only files or directories that match the specified pattern. +Note that exclusions specified with +*--exclude* +take precedence over inclusions. +If no inclusions are explicitly specified, 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 +Sq foo. +</dd><dt>*-j*</dt><dd> +(c mode only) +Compress the resulting archive with +*bzip2*(1). +In extract or list modes, this option is ignored. +Note that, unlike other +*tar* +implementations, this implementation recognizes bzip2 compression +automatically when reading archives. +</dd><dt>*-k*</dt><dd> +(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. +</dd><dt>*--keep-newer-files*</dt><dd> +(x mode only) +Do not overwrite existing files that are newer than the +versions appearing in the archive being extracted. +</dd><dt>*-L*</dt><dd> +(c and r mode only) +All symbolic links will be followed. +Normally, symbolic links are archived as such. +With this option, the target of the link will be archived instead. +</dd><dt>*-l*</dt><dd> +This is a synonym for the +*--check-links* +option. +</dd><dt>*-m*</dt><dd> +(x mode only) +Do not extract modification time. +By default, the modification time is set to the time stored in the archive. +</dd><dt>*-n*</dt><dd> +(c, r, u modes only) +Do not recursively archive the contents of directories. +</dd><dt>*--newer* _date_</dt><dd> +(c, r, u modes only) +Only include files and directories newer than the specified date. +This compares ctime entries. +</dd><dt>*--newer-mtime* _date_</dt><dd> +(c, r, u modes only) +Like +*--newer*, +except it compares mtime entries instead of ctime entries. +</dd><dt>*--newer-than* _file_</dt><dd> +(c, r, u modes only) +Only include files and directories newer than the specified file. +This compares ctime entries. +</dd><dt>*--newer-mtime-than* _file_</dt><dd> +(c, r, u modes only) +Like +*--newer-than*, +except it compares mtime entries instead of ctime entries. +</dd><dt>*--nodump*</dt><dd> +(c and r modes only) +Honor the nodump file flag by skipping this file. +</dd><dt>*--null*</dt><dd> +(use with +*-I*, +*-T*, +or +*-X*) +Filenames or patterns are separated by null characters, +not by newlines. +This is often used to read filenames output by the +*-print0* +option to +*find*(1). +</dd><dt>*--numeric-owner*</dt><dd> +(x mode only) +Ignore symbolic user and group names when restoring archives to disk, +only numeric uid and gid values will be obeyed. +</dd><dt>*-O*</dt><dd> +(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. +</dd><dt>*-o*</dt><dd> +(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. +</dd><dt>*-o*</dt><dd> +(c, r, u mode) +A synonym for +*--format* _ustar_ +</dd><dt>*--one-file-system*</dt><dd> +(c, r, and u modes) +Do not cross mount points. +</dd><dt>*--options* _options_</dt><dd> +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: +<dl> +<dt>_key=value_</dt><dd> +The key will be set to the specified value in every module that supports it. +Modules that do not support this key will ignore it. +</dd><dt>_key_</dt><dd> +The key will be enabled in every module that supports it. +This is equivalent to +_key_*=1*. +</dd><dt>_!key_</dt><dd> +The key will be disabled in every module that supports it. +</dd><dt>_module:key=value_, _module:key_, _module:!key_</dt><dd> +As above, but the corresponding key and value will be provided +only to modules whose name matches +_module_. +</dd></dl> +The currently supported modules and keys are: +<dl> +<dt>*iso9660:joliet*</dt><dd> +Support Joliet extensions. +This is enabled by default, use +*!joliet* +or +*iso9660:!joliet* +to disable. +</dd><dt>*iso9660:rockridge*</dt><dd> +Support Rock Ridge extensions. +This is enabled by default, use +*!rockridge* +or +*iso9660:!rockridge* +to disable. +</dd><dt>*gzip:compression-level*</dt><dd> +A decimal integer from 0 to 9 specifying the gzip compression level. +</dd><dt>*xz:compression-level*</dt><dd> +A decimal integer from 0 to 9 specifying the xz compression level. +</dd><dt>*mtree:*_keyword_</dt><dd> +The mtree writer module allows you to specify which mtree keywords +will be included in the output. +Supported keywords include: +*cksum*, *device*, *flags*, *gid*, *gname*, *indent*, +*link*, *md5*, *mode*, *nlink*, *rmd160*, *sha1*, *sha256*, +*sha384*, *sha512*, *size*, *time*, *uid*, *uname*. +The default is equivalent to: +"device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname". +</dd><dt>*mtree:all*</dt><dd> +Enables all of the above keywords. +You can also use +*mtree:!all* +to disable all keywords. +</dd><dt>*mtree:use-set*</dt><dd> +Enable generation of +*/set* +lines in the output. +</dd><dt>*mtree:indent*</dt><dd> +Produce human-readable output by indenting options and splitting lines +to fit into 80 columns. +</dd><dt>*zip:compression*=_type_</dt><dd> +Use +_type_ +as compression method. +Supported values are store (uncompressed) and deflate (gzip algorithm). +</dd></dl> +If a provided option is not supported by any module, that +is a fatal error. +</dd><dt>*-P*</dt><dd> +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. +</dd><dt>*-p*</dt><dd> +(x mode only) +Preserve file permissions. +Attempt to restore the full permissions, including owner, file modes, file +flags and ACLs, if available, for each item extracted from the archive. +By default, newly-created files are owned by the user running +*tar*, +the file mode is restored for newly-created regular files, and +all other types of entries receive default permissions. +If +*tar* +is being run by root, the default is to restore the owner unless the +*-o* +option is also specified. +</dd><dt>*-q* (*--fast-read*)</dt><dd> +(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. +</dd><dt>*-S*</dt><dd> +(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 similiar to the conv=sparse option of dd. +</dd><dt>*--strip-components* _count_</dt><dd> +(x mode only) +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. +</dd><dt>*-s* _pattern_</dt><dd> +Modify file or archive member names according to +_pattern_. +The pattern has the format +_/old/new/_`[`gps`]` +where +_old_ +is a basic regular expression, +_new_ +is the replacement string of the matched part, +and the optional trailing letters modify +how the replacement 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 trailing g specifies that matching should continue +after the matched part and stopped 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. +</dd><dt>*-T* _filename_</dt><dd> +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 specified 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". +</dd><dt>*-U*</dt><dd> +(x mode only) +Unlink files before creating them. +Without this option, +*tar* +overwrites existing files, which preserves existing hardlinks. +With this option, existing hardlinks will be broken, as will any +symlink that would affect the location of an extracted file. +</dd><dt>*--use-compress-program* _program_</dt><dd> +Pipe the input (in x or t mode) or the output (in c mode) through +_program_ +instead of using the builtin compression support. +</dd><dt>*-v*</dt><dd> +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). +Additional +*-v* +options will provide additional detail. +</dd><dt>*--version*</dt><dd> +Print version of +*tar* +and +*libarchive*, +and exit. +</dd><dt>*-w*</dt><dd> +Ask for confirmation for every action. +</dd><dt>*-X* _filename_</dt><dd> +Read a list of exclusion patterns from the specified file. +See +*--exclude* +for more information about the handling of exclusions. +</dd><dt>*-y*</dt><dd> +(c mode only) +Compress the resulting archive with +*bzip2*(1). +In extract or list modes, this option is ignored. +Note that, unlike other +*tar* +implementations, this implementation recognizes bzip2 compression +automatically when reading archives. +</dd><dt>*-z*</dt><dd> +(c mode only) +Compress the resulting archive with +*gzip*(1). +In extract or list modes, this option is ignored. +Note that, unlike other +*tar* +implementations, this implementation recognizes gzip compression +automatically when reading archives. +</dd><dt>*-Z*</dt><dd> +(c mode only) +Compress the resulting archive with +*compress*(1). +In extract or list modes, this option is ignored. +Note that, unlike other +*tar* +implementations, this implementation recognizes compress compression +automatically when reading archives. +</dd></dl> +== ENVIRONMENT == +The following environment variables affect the execution of +*tar*: +<dl> +<dt>*LANG* +The locale to use. +See +*environ*(7) +for more information. +</dt><dt>*TAPE* +The default tape device. +The +*-f* +option overrides this. +</dt><dt>*TZ* +The timezone to use when displaying dates. +See +*environ*(7) +for more information. +</dt></dl> +== FILES == +<dl> +<dt>*/dev/sa0* +The default tape device, if not overridden by the +.IR TAPE +environment variable or the +*-f* +option. +</dt></dl> +== 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 +*-C*_foo/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 - character) 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 arguments, +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 superuser, 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: +<ul> +<li> +Archive entries can have absolute pathnames. +By default, +*tar* +removes the leading +_/_ +character from filenames before restoring them to guard against this problem. +</li><li> +Archive entries can have pathnames that include +_.._ +components. +By default, +*tar* +will not extract files containing +_.._ +components in their pathname. +</li><li> +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. +</li></ul> +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 preserving any absolute pathnames, +_.._ +components, or symlinks to other directories. +== SEE ALSO == +*bzip2*(1), +*compress*(1), +*cpio*(1), +*gzip*(1), +*mt*(1), +*pax*(1), +*shar*(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 used 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 specification 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. +== 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 output 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 compressors, 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 or for archiving +sparse files. + +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.) + +There are alternative long options for many of the short options that +are deliberately not documented. |