Pipe



  • Moin, Moin...

    Wenn ich folgenden Aufruf eingebe:

    ls | more

    Wie erhält more die Daten? Über eine Pipe, eine FIFO oder stdout/stdin?

    Danke im voraus...

    [ Dieser Beitrag wurde am 13.03.2003 um 09:43 Uhr von Kal El editiert. ]



  • (ich bin mir nicht 100% sicher - also korrigiert mich, sollte ich falsch liegen)

    es handelt sich um eine pipe.
    dabei wird stdout nach stdin umgeleitet.

    die ausgabe von ls kommt nicht auf den bildschirm, sondern wird als eingabe fuer less verwendet.

    du kannst mit pipes die ausgaben auch in dateien umleiten.
    mit "ls -lR / > myfiles" wird eine datei names myfiles mit allen dateien auf deinem system erstellt.

    Gruss.



  • über eine Pipe, die mit stdin verbunden ist.

    ls                    more
                stdin/0 stdout/1       stdin/0 stdout/1
                 |          |            |         |
           |-->--+          +->-[pipe]->-+         +-->--> Bildschirm
    

    (ls schließt sein stdin vermutlich, deshalb das '|')

    lies dir was über pipe(2) und dup(2)/dup2(2) durch ...


Anmelden zum Antworten