web-dev-qa-db-fra.com

Comment créer une archive tar dans un répertoire différent?

Je veux créer une archive tar dans un répertoire différent plutôt que dans le répertoire courant.

J'ai essayé cette commande:

tar czf file.tar.gz file1 -C /var/www/

mais il crée l'archive dans le répertoire courant. Pourquoi?

41
Omid

La manière la plus simple, si vous n'avez pas particulièrement besoin d'utiliser -C pour dire à tar de passer à un autre répertoire, c'est simplement spécifier le chemin complet de l'archive sur la ligne de commande. Ensuite, vous pouvez être dans le répertoire que vous préférez pour créer la structure de répertoires que vous souhaitez à l'intérieur de l'archive.

Ce qui suit va créer l'archive /var/www/file.tar.gz et met file1 à partir du répertoire en cours (quel qu'il soit) qui s'y trouve, sans aucune information de chemin dans l'archive.

tar czf /var/www/file.tar.gz file1

Le chemin (vers l'archive, les fichiers constitutifs ou les deux) peut bien sûr également être relatif. Si file1 est dans /tmp, vous êtes dans /var/spool et souhaitez créer l'archive dans /var/www, vous pouvez utiliser quelque chose comme:

tar czf ../www/file1.tar.gz /tmp/file1

Il y a un million de variations sur le thème, mais cela devrait vous aider à démarrer. Ajoutez l'indicateur v si vous voulez voir ce que tar fait réellement.

51
a CVn

Je transforme les données compressées en un flux (-) et je renommer et localiser facilement (>) où je veux

tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
8
David King

Je pense que ça devrait être:
tar czf file.tar.gz -C /var/www/ file1

Ce qui fonctionne pour moi. Il indique de changer de répertoire puis de choisir le fichier.

4
user2039152

- L'option doit être spécifiée avant les options czf. Essayez la commande suivante.

tar -C/var/www/-czf file.tar.gz file1

0
jseokkim