51 votes

Comment décompresser un sous-répertoire dans le répertoire courant?

Comment puis-je extraire un sous-répertoire dans une archive dans le répertoire courant?

Exemple, l'archive de wordpress:

wordpress/
wordpress/wp-trackback.php
wordpress/wp-config-sample.php
wordpress/wp-settings.php
wordpress/wp-rss2.php
wordpress/readme.html
wordpress/index.php
...

Comment puis-je extraire tout sous wordpress/ , dans le répertoire courant? Dans otherwords, il ne créera pas d' wordpress répertoire.

J'ai essayé cela avec pas de chance:

tar xvfz latest.tar.gz wordpress -C ./

Je sais que je peux l'extraire normalement et le replacer, mais je l'ai trouver il y a un moyen de le faire d'un seul coup.

89voto

kch Points 25855

Pourquoi ne pas décompresser normalement, puis il suffit de:

mv wordpress/.* .
mv wordpress/* .
rmdir wordpress

Mais hélas, il y a:

tar --strip-components=1 -zxvf wordpress.tgz

6voto

j_random_hacker Points 28473

Étonnamment, mon tar (GNU tar v1.16) n'a pas une option pour la bande initiale chemin éléments.

Cependant, il semble que les versions plus récentes de sport un --strip-components=number paramètre de bande que de nombreux compononents depuis le début de la voie.

Si comme moi vous utilisez une ancienne version d' tar, et que vous êtes certain que l'archive ne contient pas de répertoire ou d'un fichier nommé wordpress/wordpress, vous pouvez toujours faire un lien symbolique à partir de wordpress de ., puis extrait, comme d'habitude:

ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X