Est-il possible de créer un répertoire cible, similaire à mkdir -p
, où je peux définir un répertoire cible inexistant dans ma commande tar, et tar créera le répertoire pour moi?
Je sais que je peux rediriger la sortie vers un répertoire en utilisant tar -C /target/dir
, mais cela ne fonctionne pas si le répertoire cible est inexistant.
Réponses:
la source
mkdir -p /target/dir && tar -C $_
$_
est un paramètre spécial dans Bash qui se développe jusqu'au dernier argument de la commande précédente.Depuis la page de manuel de la commande tar
----- test
test 1
// si nom tgz identique à root_dir de l'archive, aucun autre effet
test 2
// si le nom tgz n'est pas le même que root_dir de l'archive, créez un répertoire de niveau supérieur
la source
Cela avait plus de sens pour moi:
mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder
mkdir
rend le dossier bien que je ne comprenne pas bien-p
commutateur.&&
vous permet d'exécuter une deuxième commande. J'ai utilisé des commutateurs tar typiques mais à la fin-C
est utilisé pour changer les répertoires et extraire à cet emplacement nécessaire.référence: extraire-fichiers-contenus-dans-archive-tar-gz-vers-nouveau-répertoire-nommé-archive
la source
/create
s'il n'existe pas.Si vous ne connaissez pas les chemins à créer ...
Obtenez les chemins nécessaires dans le fichier tar, puis créez-les ...
la source