Как разархивировать отдельную папку или файл *.tar.gz

baltun

Администратор
Сообщения
10.893
Реакции
2.594
Баллы
2.003
При большом размере файла бэкапа не всегда есть необходимость разархивировать все файлы, вполне достаточно всего одного файла или папки.

Для этого необходимо выполнить следующую команду:
Код:
tar -zxvf mytar.ball.tar.gz -C /tmp dir-name

При этом необходимо указывать путь к папке, как он сохранен в архиве. Посмотреть можно следующей командой:
Код:
tar -ztf backup.tar.gz |grep dir-name

Пример:
Код:
tar -zxvf mytar.ball.tar.gz -C /tmp www/domain.com/data/
Разархивирует содержимое папки www/domain.com/data/ в папку /tmp

Если требуется извлечь без сохранения полного пути, есть магическая опция --strip=N, которая отрезает N уровней каталогов с корня пути:
Код:
tar -zxvf mytar.ball.tar.gz --strip=2 -C /tmp www/domain.com/data/
И еще есть магическая опция --xform, позволяющая переписывать пути регэкспом!
 
Последнее редактирование:
Назад
Верх Низ