it-swarm.com.de

Wie kann ich ein Verzeichnis tarieren, ohne die Verzeichnisstruktur beizubehalten?

Ich arbeite an einem Sicherungsskript und möchte ein Dateiverzeichnis tarieren:

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

Dies tars es, aber wenn ich die entpackte Datei entpacke, enthält sie die vollständige Dateistruktur: Die Dateien sind in home/username/drupal/sites/default/files.

Gibt es eine Möglichkeit, die übergeordneten Verzeichnisse auszuschließen, so dass das resultierende tar nur das letzte Verzeichnis (files) kennt?

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

Verwenden Sie die Option --directory:

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

Hallo, ich habe eine bessere Lösung, wenn Sie das angegebene Verzeichnis eingeben, ist es unmöglich (Makefiles usw.).

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

Vergiss nicht den Punkt (.) Am Ende !!

39
MaikoID

Um alle TXT-Dateien (* .txt) von /home/myuser/workspace/Zip_from/ Bis /home/myuser/workspace/Zip_to/ ohne Verzeichnisstruktur der Quelldateien zu kopieren, verwenden Sie den folgenden Befehl:

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

Das hat für mich funktioniert:

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