Ausgabe nach tar pipen

lockdoc

Well-Known Member
Hallo,

weiss vielleicht einer wie ich die Ausgabe von einem Programm direkt in ein tar archive pipen kann, ohne eine temporaere Datei erstellen zu muessen?

Ich hatte mir das so vorgestellt gehabt
Code:
dmesg | tar -cf test.tgz -

das geht aber leider nicht
 
Hmm... willst du die Ausgabe von dmesg in eine tar packen? Willst du dmesg evtl nicht erst in ne Datei pipen und die dann an tar übergeben? Wie soll denn tar einen String speichern?
 
Also ich will praktisch in der tar die datei dmesg.txt mit dem inhalt von dmesg haben, aber ohne vorher eine temporaere datei zu erzeugen, falls das ueberhaupt moeglich ist.
 
dmesg aufrufen -> in irgend eine datei umleiten (stichwort Shell Redirection, schau mal bei Google) -> die datei taren
 
Ich frage mich was das fuer einen Sinn hat den Inhalt, der sonst in eine Datei kommt, zu taren? Vermutlich willst du sowas wie:
dmesg | bzip2 > dmesg.bz2
?
 
genau, ich will mir halt den zwischenschritt sparen, dass ich irgendeine datei spaeter wieder loeschen muss
 
..., ich will mir halt den zwischenschritt sparen, dass ich irgendeine datei spaeter wieder loeschen muss
Du musst später nichts löschen. Das Löschen der temporären Datei kann tar sofort mitmachen. Z. B.:
Code:
dmesg > dmesg.txt; tar --remove-files -cf dmesg.tar dmesg.txt
Code:
ls -l dmesg.txt
ls: Zugriff auf dmesg.txt nicht möglich: Datei oder Verzeichnis nicht gefunden
Code:
ls -l dmesg.tar
-rw-r--r-- 1 xx users 61440 22. Jan 00:50 dmesg.tar

EDIT:
Code:
[COLOR="Red"]alias dmesgtar[/COLOR]="dmesg > dmesg.txt; tar --remove-files -cf dmesg.tar dmesg.txt"

EDIT 2:

Was ohne Zwischendatei funktioniert, ist gzip:
Code:
dmesg | gzip -9 > dmesg.gz
Code:
ls dmesg.gz
dmesg.gz
 
Zuletzt bearbeitet:
Auch wenn's schon erklärt wurde. tar braucht man nur wenn man die Datei an sich (also mit Attributen) erhalten oder mit anderen bündeln will. Ansonsten ist e unnötiger Overhead. Eventuell willst du bzip2 den Vorzug geben, da du damit meist eine bessere Kompressionsrate erhältst.
 
Zurück
Oben