Pipes vs. Redirects


22

Ich habe lange Zeit Pipes und Redirects verwendet und festgestellt, dass ich nicht genau weiß, wie sie sich unterscheiden. Ich weiß nur, dass Sie> verwenden, wenn Sie die Ausgabe in einer Datei speichern möchten. Andernfalls verwenden Sie meistens nur |. Kann jemand den Unterschied zwischen Pipes und Redirects erklären?


Antworten:


24

Beide machen dasselbe Grundlegende; Sie leiten einen Dateideskriptor des ausgeführten Prozesses um. Der Unterschied liegt im Wie. Eine Pipe verbindet die Standardausgabe eines Prozesses mit der Standardausgabe eines anderen Prozesses, wohingegen die Umleitung von / zu einer Datei ( >von Standardausgabe zu einer Datei, <von einer Datei zu Standardausgabe) erfolgt.


1
Die Unterscheidung Art von Unschärfen in Linux und anderen Systemen, die haben /dev/fd. Wenn Sie beispielsweise ausführen echo foo > >(somecommand), wird es auf erweitert echo foo > /dev/fd/3. Es ist immer noch Umleitung, aber zu einem Prozess.
user1686
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.