*** empty log message ***

This commit is contained in:
François Pinard
1994-11-16 02:52:19 +00:00
parent 0190e903f5
commit 8835bb37e9

View File

@@ -636,13 +636,44 @@ members are named) on the command line (or with @samp{--files-from}) the
a file is created with the contents of the archive member. The name of
the file is the same as the member name.
Various options cause @code{tar} to extract more than just file
contents, such as the owner, the permissions, the modification date, and
so forth.
XXX
The @samp{--same-permissions} (or @samp{--preserve-permissions}, or
@samp{-p}) options cause @code{tar} to cause the new file to have the
same permissions, owner, and so forth, as the original file did when it
was placed in the archive.
same permissions as the original file did when it was placed in the
archive. Without this option, the current @code{umask} is used to
affect the permissions.
The @samp{--mo
When extrating, @code{tar} normally sets the modification time of the
file to the value recorded in the archive. The
@samp{--modification-time} option causes @code{tar} to omit doing this.
XXX
@section Updating an Archive
The @samp{--update} (or @samp{-u}) option updates a @code{tar} archive
by comparing the date of the specified archive members against the date
of the file with the same name. If the file has been modified more
recently than the archive member, then the archive member is deleted (as
with @samp{--delete}) and then the file is added to the archive (as with
@samp{--append}). On media where the @samp{--delete} option cannot be
performed (such as magnetic tapes), the @samp{--update} option similarly
fails.
If no archive members are named (either on the command line or via
@samp{--files-from}), then the entire archive is processed in this
manner.
@section Comparing Archives Members with Files
The @samp{--compare} (or @samp{--diff}, or @samp{-d}) option compares
the contents of the specified archive members against the files with the
same names, and reports its findings. If no members are named on the
command line (or through @samp{--files-from}), then the entire archive
is so compared.
@chapter Specifying Names to @code{tar}
@@ -660,7 +691,10 @@ line, you can put the names into a file, and then use the
@samp{--files-from=@var{file-name-list}} (@samp{-T
@var{file-name-list}}) option to @code{tar}. Give the name of the file
which contains the list as the argument to @samp{--files-from}. The
file names should be separated by newlines in the list.
file names should be separated by newlines in the list. If you give a
single dash as a filename for @samp{--files-from} (that is, you specify
@samp{--files-from=-} or @samp{-T -}), then the filenames are read from
standard input.
If you want to specify names that might contain newlines, use the
@samp{--null} option. Then, the filenames should be separated by NUL
@@ -716,7 +750,7 @@ contents of a single filesystem, because all files named on the command
line (or through the @samp{--files-from} option) will always be
archived.
@chapter Changing the Names of Members when Archiing
@chapter Changing the Names of Members when Archiving
@section Changing Directory
@@ -777,6 +811,125 @@ to the archive naming the target of the link. In that way, the
However, if you want @code{tar} to actually dump the contents of the
target of the symbolic link, then use the @samp{--dereference} option.
@chapter Making @code{tar} More Verbose
Various options cause @code{tar} to print information as it progresses
in its job.
The @samp{--verbose} (or @samp{-v}) option causes @code{tar} to print
the name of each archive member or file as it is processed. Since
@samp{--list} already prints the names of the members, @samp{--verbose}
used with @samp{--list} causes @code{tar} to print a longer listing
(reminiscent of @samp{ls -l}) for each member.
To see the progress of @code{tar} through the archive, the
@samp{--record-number} option prints a message for each record read or
writted. (@xref{Archive Structure}.)
The @samp{--totals} option (which is only meaningful when used with
@samp{--create}) causes @code{tar} to print the total amount written to
the archive, after it has been fully created.
The @samp{--checkpoint} option prints an occasional message as
@code{tar} reads or writes the archive. It is designed for those who
don't need the more detailed (and voluminous) output of
@samp{--record-number}, but do want visual confirmation that @code{tar}
is actually making forward progress.
@chapter Input and Output
@section Changing the Archive Name
By default, @code{tar} uses an archive file name compiled in when
@code{tar} was built. Usually this refers to some physical tape drive
on the machine. Often, the installer of @code{tar} didn't set the
default to anything meaningful at all.
As a result, most uses of @code{tar} need to tell @code{tar} where to
find (or create) the archive. The @samp{--file=@var{archive-name}} (or
@samp{-f @var{archive-name}} option selects another file to use as the
archive.
If the archive file name includes a colon (@samp{:}), then it is assumed
to be a file on another machine. If the archive file is
@samp{@var{user}@@@var{host}:@var{file}}, then @var{file} is used on the
host @var{host}. The remote host is accessed using the @code{rsh}
program, with a username of @var{user}. If the username is omitted
(along with the @samp{@@} sign), then your user name will be used.
(This is the normal @code{rsh} behavior.) It is necessary for the
remote machine, in addition to permitting your @code{rsh} access, to
have the @code{/usr/ucb/rmt} program installed. If you need to use a
file whose name includes a colon, then the remote tape drive behavior
can be inhibited by using the @samp{--force-local} option.
If the filename you give to @samp{--file} is a single dash (@samp{-}),
then @code{tar} will read the archive from (or write it to) standard
input (or standard output).
@section Extracting Members to Standard Output
An archive member in normally extracted into a file with the same name
as the archive member. However, you can use the @samp{--to-stdout} to
cause @code{tar} to write extracted archive members to standard output.
If you extract multiple members, they appear on standard output
concatenated, in the order they are found in the archive.
@chapter Being More Careful
When using @code{tar} with many options, particularly ones with
complicated or difficult-to-predict behavior, it is possible to make
serious mistakes. As a result, @code{tar} provides several options that
make observing @code{tar} easier.
The @samp{--verbose} option (@pxref{Making @code{tar} More Verbose})
causes @code{tar} to print the name of each file or archive member as it
is processed.
If you use @samp{--interactive} (or {@samp--confirm}), then @code{tar}
will ask you for confirmation before each operation. For example, when
extracting, it will prompt you before each archive member is extracted,
and you can select that member for extraction or pass over to the next.
The @samp{--verify} option, when using @samp{--create}, causes
@code{tar}, after having finished creating the archive, to go back over
it and compare its contents against the files that were placed in the
archive.
The @samp{--show-omitted-dirs} option, when reading an archive (with
@samp{--list} or @samp{--extract}, for example), causes a message to be
printed for each directory in the archive which is skipped. This
happens regardless of the reason for skipping: the directory might not
have been named on the command line (implicitly or explicitly), it might
be excluded by the use of the @samp{--exclude} option, or some other
reason.
@chapter Using Real Tape Drives
Many complexities surround the use of @code{tar} on tape drives. Since
the creation and manipulation of archives located on magnetic tape was
the original purpose of @code{tar}, it contains many features making
such manipulation easier.
@section Blocking
When writing to tapes, @code{tar} writes the contents of the archive in
chunks known as @dfn{blocks}. To change the default blocksize, use the
@samp{--block-size=@var{blocking-factor}} (@samp{-b
@var{blocking-factor}) option. Each block will then be composed of
@var{blocking-factor} records. (Each @code{tar} record is 512 bytes.
@xref{Archive Format}.) Each file written to the archive uses at least
one full block. As a result, using a larger block size can result in
more wasted space for small files. On the other hand, a larger block
size can ofter be read and written much more efficiently.
Further complicating the problem is that some tape drives ignore the
blocking entirely. For these, a larger block size can still improve
performance (because the software layers above the tape drive still
honor the blocking), but not as dramatically as on tape drives that
honor blocking.
XXXX MIB XXXX