Ответ 1
gzip -dc archive.tar.gz | tar -xf - -C /destination
или с GNU tar
tar xzf archive.tar.gz -C /destination
У меня есть архив
*. Tar.gz
Как я могу распаковать это в каталоге назначения?
gzip -dc archive.tar.gz | tar -xf - -C /destination
или с GNU tar
tar xzf archive.tar.gz -C /destination
Вы можете использовать опцию -C
(или --directory
, если вы предпочитаете длинные параметры), чтобы предоставить целевой каталог по вашему выбору, если вы используете версию Gnu tar
. Каталог должен существовать:
mkdir foo
tar -xzf bar.tar.gz -C foo
Если вы не используете tar
, способный к извлечению в определенный каталог, вы можете просто cd
в целевой каталог до вызова tar
; конечно, вам, конечно, придется дать полный путь к вашему архиву. Вы можете сделать это в области подсчета очков, чтобы избежать влияния на окружающий script:
mkdir foo
(cd foo; tar -xzf ../bar.tar.gz) # instead of ../ you can use an absolute path as well
Или, если не подходит ни абсолютный путь, ни относительный путь к файлу архива, вы также можете использовать его для обозначения архива вне области подсекции:
TARGET_PATH=a/very/complex/path/which/might/even/be/absolute
mkdir -p "$TARGET_PATH"
(cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz
Извлекает myArchive.tar в каталог /destinationDirectory
Команды:
cd /destinationDirectory
pax -rv -f myArchive.tar -s ',^/,,'