The tar command is designed to combine multiple files together into a single archive.
In this Linux quick tip we will learn to extract a single file from a tarball archive using the tar command.
For this example we will use my Pink Floyd mp3 collection. I used tar to archive my songs so I can move them to my new machine. Right now I only want to extract the song “Learning to Fly” from the archive.
We will need to know the exact name of the file. We can list the files in a tar archive using the following command.
tar -tvf filename.tar
Here is an example:
$ tar -tvf Floyd.tar
-rw-rw-r-- savona/savona 432516 2012-01-05 14:49 Echoes.mp3
-rw-rw-r-- savona/savona 837292 2012-01-05 14:49 Goodbye_Blue_Sky.mp3
-rw-rw-r-- savona/savona 748479 2012-01-05 14:49 Green_Is_The_Colour.mp3
-rw-rw-r-- savona/savona 3455103 2012-01-05 14:49 Learning_To_Fly.mp3
-rw-rw-r-- savona/savona 234426 2012-01-05 14:49 Obscured_By_Clouds.mp3
Now we can see the filename for Learning to Fly is “Learning_To_Fly.mp3”. Let’s extract that one song with the following command:
tar xvf filename.tar file_to_extract
Example:
$ tar xvf Floyd.tar Learning_To_Fly.mp3
Learning_To_Fly.mp3