Réponses:
La façon simple, si vous n'êtes pas particulièrement besoin d'utiliser -Cpour dire tarau changement dans un autre répertoire, est de spécifier simplement le chemin complet vers l'archive sur la ligne de commande. Vous pouvez ensuite figurer dans le répertoire de votre choix pour créer la structure de répertoires de votre choix dans l’archive.
Ce qui suit va créer l’archive /var/www/file.tar.gzet la placer à file1partir du répertoire courant (quel qu’il soit), sans information de chemin d’archive.
tar czf /var/www/file.tar.gz file1
Le chemin d'accès (à l'archive, aux fichiers constitutifs ou aux deux) peut bien sûr aussi être relatif. Si file1est dans /tmp, vous /var/spoolvoulez créer l'archive /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 le vdrapeau si vous voulez voir ce qui tarse passe réellement.
$PWDest, il semblait plus sûr d'utiliser un chemin absolu dans l'exemple.
file1l'archive tar sera /tmp. Cela peut être ou ne pas être ce que vous attendez.
Je transforme les données compressées en un flux (-), puis renommer et localiser facilement (>) là où je le souhaite (De plus, je tar toujours le chemin relatif (./), il est donc plus facile de gérer la décompression)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-Cest beaucoup plus idiomatique (et plus court).
Je pense que cela devrait être:
tar czf file.tar.gz -C /var/www/ file1
Ce qui fonctionne pour moi Il vous dit de changer de répertoire puis de choisir un fichier.
-C(ce qui n’est pas étrange, mais documenté vaguement). Pour plus de détails, voir serverfault.com/q/416002/86283 .