So erstellen Sie ein Archiv ohne Hierarchie

So erstellen Sie ein Archiv ohne Hierarchie

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 tarBefehls auf stdoutund leiten sie dann an weiter, gzipwas wiederum seine Ausgabe an weiterleitet./archive

verwandte Informationen