J'ai des archives
* .tar.gz
Comment puis-je décompresser cela dans un répertoire de destination?
gzip -dc archive.tar.gz | tar -xf - -C /destination
ou, avec GNU tar
tar xzf archive.tar.gz -C /destination
Vous pouvez utiliser l'option -C
(ou --directory
si vous préférez de longues options) pour donner le répertoire cible de votre choix si vous utilisez la version Gnu de tar
. Le répertoire devrait exister:
mkdir foo
tar -xzf bar.tar.gz -C foo
Si vous n'utilisez pas de tar
capable d'extraire dans un répertoire spécifique, vous pouvez simplement cd
dans votre répertoire cible avant d'appeler tar
; alors vous devrez bien sûr donner un chemin complet à vos archives. Vous pouvez le faire dans un sous-shell de portée pour éviter d'influencer le script environnant:
mkdir foo
(cd foo; tar -xzf ../bar.tar.gz) # instead of ../ you can use an absolute path as well
Ou, si ni un chemin absolu ni un chemin relatif vers le fichier d'archive ne convient, vous pouvez également l'utiliser pour nommer l'archive en dehors du sous-shell de portée:
TARGET_PATH=a/very/complex/path/which/might/even/be/absolute
mkdir -p "$TARGET_PATH"
(cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz
Extraits myArchive.tar vers /répertoire de destination
Commandes:
cd /destinationDirectory
pax -rv -f myArchive.tar -s ',^/,,'