Veröffentlicht 30. Januar 200322 j Hi, wo finde ich gute Anleitungen zu pipes und Verknüpfungen zu Befehlen. Was ist an den folgenden Befehl falsch? dd if=/dev/md0 | gzip -c9 | ssh user@server "cat > test.gz" Gruß Martin
30. Januar 200322 j Originally posted by debitux Was ist an den folgenden Befehl falsch? dd if=/dev/md0 | gzip -c9 | ssh user@server "cat > test.gz" c't gelesen? ;-) Ich würde sagen: dd if=/dev/md0 | gzip -c9 | ssh user@server "cat | test.gz" mfg ___
31. Januar 200322 j Hi, der Befehl funktionierte. Ich wusste nur nicht das der es direkt ins homeverzeichnis vom angemeldeten user legt :-). Hätte aber noch ne andere Frage. Wie kann ich jetzt mehrere gz Dateien in eine zusammenpacken? Hab irgendwann mal eine Seite gesehen das mit den befehl verbinden ganz einfach erklärt war. Aber leider hab ich das nicht ganz gelesen und ich finde die seite nicht wieder. *seufz* Kennt niemand eine Seite? Gruß debitux
31. Januar 200322 j So schwer ist das nicht. Eine pipe leist die Standardausgabe des ersten Prozesses und schreibt diese in die Standardeingabe des zweiten (wobei das natuerlich auch mit mehr als zwei Prozessen funktioniert): Beispiel: ls -la | more (die Ausgabe von "ls" wird nach more umgeleitet") Das "problematische" dabei ist eher die passenden Optionen fuer die einzelnen Programme zu finden, damit diese von stdin lesen bzw. auf stdout schreiben, da das nicht konsistent ist: gzip -dc file.tar.gz | (cd /tmp; tar xvf -) Dekomprimiert file.tar.gz und schreibt die Daten auf stdout. Die Ausgabe geht an einen Prozess, der erst ein cd nach /tmp durchfuehrt und dann stdin liesst und diese Daten auspackt (das "minus" bei tar bedeutet, dass von stdin gelesen werden soll). Genaueres gibts beispielsweise hier: http://www.linuxplanet.com/linuxplanet/tutorials/936/2/ Nic
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.