How do I extract a specific file from a tar archive?

Is it possible to restore a single file from the .tar backup? I don't want to restore total backup. I just want to restore one single file from the backup.


Solution 1:

1. Using the Command-line tar

Yes, just give the full stored path of the file after the tarball name.

Example: suppose you want file etc/apt/sources.list from etc.tar:

tar -xf etc.tar etc/apt/sources.list

Will extract sources.list and create directories etc/apt under the current directory.

  • You can use the -t listing option instead of -x, maybe along with grep, to find the path of the file you want
  • You can also extract a single directory
  • tar has other options like --wildcards, etc. for more advanced partial extraction scenarios; see man tar

2. Extract it with the Archive Manager

Open the tar in Archive Manager from Nautilus, go down into the folder hierarchy to find the file you need, and extract it.

  • On a server or command-line system, use a text-based file manager such as Midnight Commander (mc) to accomplish the same.

3. Using Nautilus/Archive-Mounter

Right-click the tar in Nautilus, and select Open with ArchiveMounter.

The tar will now appear similar to a removable drive on the left, and you can explore/navigate it like a normal drive and drag/copy/paste any file(s) you need to any destination.