
Ich weiß, dass es viele scheinbar identische Fragen gibt, aber ich habe bisher keine Antwort auf meine Frage gefunden.
Nehmen wir also an, ich befinde mich im aktuellen Arbeitsverzeichnis:/prüfen/ Ich möchte zu einem Archiv 'test.tar.gz' hinzufügen, das in/test/archiv/ alle Dateien, die in/test/dateien/und löschen Sie dann dieses Verzeichnis files/
Ich habe es versucht :
tar -cz -C archive -f "test.tar.gz" -C files ./* && rm -rf files
Aber ohne Erfolg.
Irgendwelche Gedanken?
Danke! Nico
Antwort1
$ tar -zcvf archive/test.tar.gz files
files/
files/1
files/2
files/3
$ tar -zcvf archive/test.tar.gz -C files .
./
./1
./2
./3
abhängig davon, welche Struktur Ihr Teer haben soll.
Antwort2
Ein einzelner Befehl wie dieser funktioniert, vorausgesetzt, Sie sind bereits in/test
(tar -cvf - ./files/* | gzip >./archive/test.tar.gz) && rm -rf files
Durch die Verwendung -
spucken wir die Ausgabe des tar
Befehls auf stdout
und leiten sie dann an weiter, gzip
was wiederum seine Ausgabe an weiterleitet./archive