Как извлечь конкретный файл из архива tar?

106

Привет можно восстановить один файл из резервной копии .tar? Я не хочу восстанавливать полную резервную копию. Я просто хочу восстановить один файл из резервной копии.

rɑːdʒɑ
источник

Ответы:

128

1. Использование tar командной строки

Да, просто укажите полный путь к файлу после имени тарбола.

Пример: предположим, вы хотите файл etc/apt/sources.listиз etc.tar:

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

Извлечет sources.listи создаст каталоги etc/aptпод текущим каталогом.

  • Вы можете использовать -tопцию листинга вместо -x, может быть, вместе с grep , чтобы найти путь к файлу, который вы хотите
  • Вы также можете извлечь один каталог
  • У tar есть другие опции, например --wildcards, и т. д. для более сложных сценариев частичного извлечения; видетьman tar

2. Распакуйте его с помощью диспетчера архивов

Откройте tar в Archive Manager из Nautilus, перейдите в иерархию папок, чтобы найти нужный файл, и распакуйте его.

  • На сервере или в командной строке используйте текстовый файловый менеджер, например Midnight Commander ( mc), чтобы выполнить то же самое.

3. Использование Nautilus / Archive-Mounter

Щелкните правой кнопкой мыши tar в Nautilus и выберите Open with ArchiveMounter.

Теперь tar будет выглядеть как съемный диск слева, и вы можете исследовать / перемещаться по нему как обычный диск и перетаскивать / копировать / вставлять любые файлы, которые вам нужны, в любое место назначения.

иш
источник
3
Есть ли способ пропустить первый начальный каталог. Особенно, когда я не знаю, как это называется? Как каталог подстановочных знаков.
CMCDragonkai
Не могли бы вы сказать мне, если это загружается во весь файл tar? Потому что, когда я пытался сделать это для файла ( /etc/network/interfaces), он работал, но инструмент стареет . Я остановил программу, но файл был извлечен.
Кристоф Де Тройер
1
Важным шагом для меня было использовать the full stored path of the file. Так ./filenameсработало, но filenameнет.
Niloct
4
@ChristopheDeTroyer Тарболы сжимаются таким образом, что вам нужно полностью распаковать их, а затем извлечь нужный файл. Я думаю, что папки .zip разные, поэтому, если вы хотите быстро извлекать отдельные файлы, попробуйте их.
GKFX
Не могли бы вы добавить больше информации о том, как это сделать с помощью Midnight Commander?
beppe9000