web-dev-qa-db-fra.com

Comment tarer un répertoire sans conserver sa structure?

Je travaille sur un script de sauvegarde et souhaite créer un répertoire de fichiers:

tar czf ~/backup.tgz /home/username/drupal/sites/default/files

Cela résume le problème, mais lorsque je décompresse le fichier résultant, il inclut la structure de fichier complète: les fichiers sont au format home/username/drupal/sites/default/files.

Existe-t-il un moyen d’exclure les répertoires parents, de sorte que l’arbre résultant connaisse simplement le dernier répertoire (files)?

71
Brock Boland
cd /home/username/drupal/sites/default/files
tar czf ~/backup.tgz *
30
John Gibb

Utilisez l'option --directory:

 tar czf ~/backup.tgz --directory=/home/username/drupal/sites/default files 
153
Neil Butterworth

Bonjour, j'ai une meilleure solution quand il est impossible d'entrer dans le répertoire spécifié (Makefiles, etc.)

tar -cjvf files.tar.bz2 -C directory/contents/to/be/compressed .

N'oubliez pas le point (.) À la fin !!

39
MaikoID

Pour gunzip tous les fichiers txt (* .txt) de /home/myuser/workspace/Zip_from/ À /home/myuser/workspace/Zip_to/ sans structure de répertoire des fichiers source, utilisez la commande suivante:

tar -P -cvzf /home/myuser/workspace/Zip_to/mydoc.tar.gz  --directory="/home/myuser/workspace/Zip_from/" *.txt
2
sangram

Cela a fonctionné pour moi:

gzip -dc "<your_file>.tgz" | tar x -C <location>
0
Vishrant