To extract specific archive members, give their exact member names as
arguments, as printed by --list (-t). If you had mistakenly deleted
one of the files you had placed in the archive collection.tar
earlier (say, blues), you can extract it from the archive without
changing the archive's structure. Its contents will be identical to the
original file blues that you deleted.
First, make sure you are in the practice directory, and list the
files in the directory. Now, delete the file, ‘blues’, and list
the files in the directory again.
You can now extract the member blues from the archive file
collection.tar like this:
$ tar --extract --file=collection.tar blues
If you list the files in the directory again, you will see that the file
blues has been restored, with its original permissions, data modification
times, and owner.
(These parameters will be identical to those which
the file had when you originally placed it in the archive; any changes
you may have made before deleting the file from the file system,
however, will not have been made to the archive member.) The
archive file, ‘collection.tar’, is the same as it was before you
extracted ‘blues’. You can confirm this by running tar with
Remember that as with other operations,
specifying the exact member name is important. tar --extract --file=bfiles.tar birds will fail, because there is no member named
birds. To extract the member named ./birds, you must
specify tar --extract --file=bfiles.tar ./birds. To find the
exact member names of the members of an archive, use --list (-t)
You can extract a file to standard output by combining the above options
with the --to-stdout (-O) option (see Writing to Standard Output).
If you give the --verbose option, then --extract
will print the names of the archive members as it extracts them.
Published under the terms of the GNU General Public License