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?
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.
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
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.
- L'option doit être spécifiée avant les options czf. Essayez la commande suivante.
tar -C/var/www/-czf file.tar.gz file1