How to extract a single file from tbz

bzip2tar

I have the following archived directory:

itunes20140618.tbz

I want to extract single file from it called:

itunes20140618/video

How would I do this?

So far, I am doing

$ bzip2 -d /tmp/itunes20140618.tbz 

But it seems to create a tar directory of everything. How would I extract just the single video file?

Currently, if I extract one file via tar it takes about 1 minutes and then 'hangs' for another 20 minutes while it finishes reading the tar archive. Any ideas how to improve this?

Best Answer

tar -xvjf itunes20140618.tbz itunes20140618/video

That should do it for this case, but if you need more help do:

info tar

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 --list (-t).

Related Question