У меня есть архивКак распаковать tar.gz в другой каталог
* .tar.gz
Как распаковывать это в каталоге назначения?
У меня есть архивКак распаковать tar.gz в другой каталог
* .tar.gz
Как распаковывать это в каталоге назначения?
gzip -dc archive.tar.gz | tar -xf - -C /destination
или с GNU дегтя
tar xzf archive.tar.gz -C /destination
Мне нравится понятие использования 'gzip' в случае, если tar не понимает ZIP-архивы. – Alfe
Вы можете использовать опцию -C
(или --directory
, если вы предпочитаете длинные варианты), чтобы дать целевую директорию вашего выбора в случае, если вы используете версию Gnu от tar
. Каталог должен существовать:
mkdir foo
tar -xzf bar.tar.gz -C foo
Если вы не используете tar
способен извлекать в определенный каталог, вы можете просто cd
в целевой каталог перед вызовом tar
; конечно, вам, конечно, придется дать полный путь к вашему архиву. Вы можете сделать это в обзорном субоболочке, чтобы избежать влияния на окружающую сценарий:
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 ',^/,,'
Почему все нижестоящие? Есть больше вариантов, чем просто -C (и, возможно, его версия не предусматривает этого). – Alfe