J'essaie de créer une archive avec tar en utilisant des chemins relatifs. J'utilise la commande suivante:
tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order
Mais les fichiers archivés ont toujours des chemins absolus. Comment puis-je utiliser tar avec des chemins relatifs?
Réponses:
'~' est développé par le shell. N'utilisez pas '~' avec -C:
(tar inclura les webapps / zers / wp-content / plugins / chemin d'accès à ma page) ou
(tar inclura le chemin de commande de ma page)
Ou tout simplement en premier cd ....
la source
-C
le répertoire de travail actuel change, comme expliqué dans une réponse de Lekensteyn.-C
aurait dû être donné comme chemin relatif mais à la place est donné comme chemin absolu. L'utilisation de ~ ici n'a pas d'importance du tout.-C new_cwd
change le répertoire de travail actuel ennew_cwd
. Les arguments suivants sont ensuite évalués par rapport ànew_cwd
.la source
La solution non GNU
tar
n'a pas d'-z
option, juste pour mentionner:EDIT (avec
&&
et sansrm
):la source
rm
; pourquoi l'incluez-vous dans votre réponse? (2) Votre réponse archive le mauvais répertoire. (3) Pourquoi avez-vous changétar -z
pourtar | gzip
? (4) Tant que vous allez utiliser&&
, vous devriez probablement utiliser aussi&&
après lepushd
.-z
(4) que j'utiliserais probablement&&
dans un script, mais je pense que ce n'est pas nécessaire dans un "one liner"~/webapps/zers/wp-content/plugins/my-page-order
avec une sortie vers~/files/wp/my-page-order.tar.gz
; vos archives de commandes~/files/wp/my-page-order
. (3) Merci d'avoir édité votre réponse pour expliquer pourquoi vous l'avez utiliséegzip
.