J'essaie d'emballer un fichier .csv avec tar.gz, tout en étant dans le répertoire racine.
Le fichier myfile.csv
est situé à /mnt/sdb1/
Donc le nom de fichier complet est/mnt/sdb1/myfile.csv
J'essaie de sauvegarder le tar.gz sous /mnt/sdb1/old_files
Je l'ai essayé comme ça:
tar -czf /mnt/sdb1/old_files/new.tar.gz mnt/sdb1/myfile.csv
Mais lorsque j'extraye le fichier, un dossier avec le nom "mnt" sera extrait qui contient un autre dossier appelé "sdb1", qui contient le fichier.
Est-il possible de compresser le fichier uniquement, au lieu de copier tous les répertoires?
Vous devez d'abord
cd /mnt/sdb1
, puis lancez latar
commande.Pour info, vous n'avez pas besoin d'utiliser
tar
ici car son but est d'agglomérer plusieurs fichiers dans une archive tar. Puisque vous n'avez qu'un seul fichier ici, utilisez-legzip
.la source
cd
commande avanttar
, alors vous pouvez revenir en arrière, ou utilisercd /mnt/sdb1 && tar -czf new.tar.gz myfile.csv && cd /
si vous préférez une ligne cmd.cd /mnt/sdb1/
je serai à nouveau dans le répertoire racine lors de la prochaine exécution d'une commande. Mais votre deuxième solution me semble logique, je l'essaie.Utilisez l'
-C
option pour tarer:la source