Eine Unix-Pipe verbindet Dateideskriptoren zweier Prozesse. Eine Pipe wird mit der in <unistd.h> deklarierten POSIX pipe () -Funktion erstellt. Shells ermöglichen die Erstellung von Rohren zwischen Prozessen mit "|".
Es gibt einen Shell-Befehl, mit dem Sie messen können, wie schnell die Daten durchlaufen werden, damit Sie die Geschwindigkeit der Ausgabe von Befehlen in einer Pipe messen können. Also statt: $ somecommand | anothercommand Sie können etwas tun wie: $ somecommand | ??? | anothercommand Und Durchsatzstatistiken (Bytes / Sek.) …
Ich wollte den Unterschied zwischen den folgenden zwei Befehlen kennen 2>&1 > output.log und 2>&1 | tee output.log Ich habe gesehen, wie einer meiner Kollegen die zweite Option zum Weiterleiten verwendet hat. Ich weiß, was 2> & 1 macht. Meine einzige Frage ist, wozu tee verwendet werden soll, wenn ein …
Manchmal muss ich Text schreiben und diesen dann in einen anderen Befehl umleiten. Mein üblicher Workflow sieht ungefähr so aus: vim # I edit and save my file as file.txt cat file.txt | pandoc -o file.pdf # pandoc is an example rm file.txt Ich finde das umständlich und versuche, Bash-Scripting …
Ich habe eine ausführbare Datei, die eine benutzerinteraktive Shell startet. Ich möchte nach dem Start der Shell zuerst ein paar Befehle einfügen und dann dem Benutzer erlauben, ihre interaktive Sitzung zu haben. Ich kann das leicht machen mit echo: echo "command 1\ncommand 2\ncommand3" | ./shell_executable Das funktioniert fast . Das …
Wenn Sie jemandem helfen würden, das Konzept der Pipes in der Befehlszeile zu erlernen, welches Beispiel würden Sie verwenden? Das tatsächlich aufgetauchte Beispiel war wie folgt: cat whatever.txt | less Ich denke, das ist nicht das beste Beispiel, weil es nur einen Schritt gibt. Was ist eine gute, aber fundamentale …
Ich wollte ein Paket in meiner Home-Datei löschen, aber der Dateiname war zu lang ( google-chrome-stable_current_i386.deb). Also habe ich beschlossen, den Befehl ls|grep chrome|rmzu verwenden, um die Dateien per Pipe an grep weiterzuleiten, um die Chrome-Datei herauszufiltern und sie dann zu entfernen. Es hat nicht funktioniert, also würde ich gerne …
Ich habe beispielsweise eine Named Pipe wie die folgende erstellt: mknod myPipe p Und ich lese aus einem Prozess (zum Beispiel einem Server). Zum Beispiel habe ich den Schwanz benutzt: tail -f myPipe Wenn mehrere Client-Prozesse Nachrichten darin schreiben (besteht beispielsweise die echo "msg" >> myPipeMöglichkeit, dass Nachrichten verschachtelt werden, …
Ich verstehe, dass -execes eine +Option geben kann, um das Verhalten von nachzuahmen xargs. Gibt es eine Situation, in der Sie eine Form der anderen vorziehen würden? Ich persönlich bevorzuge eher die erste Form, schon gar nicht die Pfeife. Ich findnehme an, die Entwickler von müssen die entsprechenden Optimierungen vorgenommen …
Ich habe eine Datei Element_querymit dem Namen, die das Ergebnis einer Abfrage enthält: SQL> select count (*) from element; [Output of the query which I want to keep in my file] SQL> spool off; Ich möchte die erste und letzte Zeile mit dem Shell-Befehl löschen.
Eine Datei wird nacheinander von heruntergeladen wget. Wenn ich mit dem Auspacken beginne cat myfile.tar.bz2 | tar -xj, kann es mit "Unexpected EOF" richtig entpacken oder fehlschlagen, je nachdem, was schneller ist. Wie man eine Datei "cat and follow" macht, dh den Inhalt der Datei auf stdout ausgibt, aber nicht …
Ich habe bemerkt, dass |verwendet wird, um Ergebnisse des ersten Befehls an den anderen zu senden. Ich möchte alle Prozesse beenden, die einem Namen entsprechen. Das macht pgrep normalerweise: $ pgrep name 5089 5105 Und mehrere Argumente scheinen zu funktionieren kill: sudo kill 5089 5105 Das ist aber falsch: pgrep …
Ich versuche, jeden grep-Befehl zu veranlassen, die Ergebnisse in einer anderen Farbe hervorzuheben. Ich kann es manuell mit einer Zeile wie dieser machen: ls -l GREP_COLORS='mt=01;32' grep c | GREP_COLORS='mt=01;31' grep o | GREP_COLORS='mt=01;34' grep n | GREP_COLORS='mt=01;36' grep f Jedes cZeichen wird grün hervorgehoben und jedes oZeichen wird rot …
Ich bin mir bewusst, dass es am besten ist, temporäre Dateien mit zu erstellen mktemp, aber was ist mit Named Pipes? Ich bevorzuge Dinge, die so POSIX-konform wie möglich sind, aber nur Linux ist akzeptabel. Das Vermeiden von Bashisms ist mein einziges hartes Kriterium, während ich schreibe dash.
Hier sind einige Optionen, die ich mir überlegt habe. Ich bin mir nicht sicher, welche die richtige ist. In der Pipe ist ein E / A-Fehler aufgetreten. Das Schreiben auf das andere Ende der Pipe ist fehlgeschlagen. Alle Prozesse, die in die Pipe schreiben konnten, haben sie geschlossen. Der Schreibpuffer …
Ich habe gehört, dass FIFOs Pipes heißen. Und sie haben genau die gleiche Semantik. Auf der anderen Seite denke ich, dass Unix Domain Socket Pipe ziemlich ähnlich ist (obwohl ich es nie benutzt habe). Ich frage mich also, ob sich alle auf dieselbe Implementierung im Linux-Kernel beziehen. Irgendeine Idee?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.