Eine Pipe verbindet den Ausgang eines Programms mit dem Eingang eines anderen Programms. Dies wird insbesondere verwendet, um die Shell | zu implementieren Operator.
Diese Frage klingt vielleicht ein bisschen dumm, aber ich kann den Unterschied zwischen Umleitung und Pipes nicht wirklich erkennen. Die Umleitung wird verwendet, um stdout / stdin / stderr umzuleiten, z ls > log.txt. Pipes werden verwendet, um die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu geben, …
Zum Beispiel, Angenommen, ich möchte den Inhalt eines Ordners auflisten und ihn direkt in ein Chatfenster einfügen, damit ein Freund ihn sehen kann. Mir ist klar, dass ich tun könnte ls > filename.txt, um eine Datei (filename.txt) mit diesen Inhalten zu erstellen. Ich müsste dann die Datei öffnen oder drucken …
Ich habe kürzlich über Named Pipes gelesen und konnte nicht verstehen, warum sie existieren. Ich habe irgendwo gelesen, dass die Verwendung einer Named Pipe weniger zeitaufwendig ist als die Verwendung einer Datei. Warum ist das so? Die Named Pipes müssen ebenfalls im Speicher abgelegt werden (und können wie Dateien ausgetauscht …
Ich habe mich mit der Befehlszeile befasst und gelernt, dass |(Pipeline) die Ausgabe eines Befehls auf die Eingabe eines anderen Befehls umleiten soll. Warum funktioniert der Befehl ls | filealso nicht? file input ist einer von mehreren Dateinamen wie file filename1 filename2 lsDie Ausgabe ist eine Liste der Verzeichnisse und …
Ich arbeite an einem rechenintensiven Code, der vorerst häufig abstürzt, aber ich arbeite immer noch daran :) Wenn er abstürzt, kann ich das GUI-Fenster nicht schließen. Ich muss eine Shell öffnen und den Prozess beenden. Es ist ein Java-Prozess und leicht zu finden: nkint@zefiro:~$ ps aux | grep java nkint …
Wenn ich etwas schreibe wie: find . -name *foo* | ls -lah Es gibt dasselbe Ergebnis wie ein einfacher lsBefehl zurück, als ob es keine Eingabe hätte. Jedoch: ls -lah $( find . -name *foo* ) funktioniert gut, aber nur wenn der findBefehl Ergebnisse hat. Ist es möglich zu pfeifen …
Folgendes mache ich, wenn ich mich bei einem FTP anmelde: ftp user:password@server ftp: user:password@server: Unknown host ftp> echo HELLO WORLD! ftp> quit Ich möchte einen einzeiligen FTP-Befehl ausführen ... ftp user:password@server -command "echo HELLO WORLD" oder "echo HELLO WORLD" | ftp user:password@server Ähnliches ... als Teil eines Skripts, das ich …
Wie das Bild zeigt, benutze ich l, um die Datei in den aktuellen Ordner zu bekommen. Und dann möchte ich die Datei mit der Nummer bekommen 1, also benutze ich die pipeund die grep. Aber warum zeigen die 2und 22Datei aus? Und was ist das 1;34m? $ l ./ ../ …
Ich versuche, einige .gzDateien (NB keine .tar.gz) von angegebenen URLs herunterzuladen und zu dekomprimieren, um eventuell vorhandene Dateien zu überschreiben. Für jeden einzelnen Download habe ich Folgendes versucht: curl -O $URL | gunzip -f Dies führte jedoch nicht, wie es mit fehlgeschlagen: gzip: stdin: unexpected end of file. Ich habe …
Ich habe ein Bash-Skript, das eine Befehlszeile in einer Zeichenfolge basierend auf einigen Parametern erstellt, bevor es auf einmal ausgeführt wird. Die Teile, die mit der Befehlszeichenfolge verknüpft sind, sollen durch Pipes getrennt werden, um ein "Streaming" von Daten durch jede Komponente zu ermöglichen. Ein sehr vereinfachtes Beispiel: #!/bin/bash part1=gzip …
Im Moment ist es was ich tue: Schritt 1: locate fooBar /home/abc/fooBar /home/abc/Music/fooBar Schritt 2: Führen Sie manuell eine Entfernung durch, indem Sie jede Zeile kopieren und einfügen. rm /home/abc/fooBar rm /home/abc/Music/fooBar Wie mache ich das in einem Schritt? Etwas wie Suchen Sie fooBar> rm Vielen Dank.
Ich habe ein Skript, das eine Eingabe mit einem -iFlag nimmt. Die Eingabedatei, die ich habe, ist komprimiert (.gz). Was ich tun möchte (nicht sicher, ob es möglich ist), weil die Datei riesig ist, mache so etwas: gunzip -c myfile.gz | myScript.pl -i STDIN -o myoutfile.txt Leiten Sie also die …
Ich kann tun cat file.txt, um den Inhalt einer Datei zu erhalten, aber ich möchte auch eine letzte Zeile meiner Wahl anheften. Ich habe versucht, Rohrleitungen zu verlegen, (cat file.txt ; echo "My final line") |aber nur die letzte Leitung wird durch die Rohrleitung geführt. Wie kann ich mich der …
Ich verwende einen Server und das Protokoll dieses Servers wird im Terminal angemeldet, nicht in einer Datei. Ich möchte weniger verwenden, um dieses Protokoll anzuzeigen. node server.js | less Wenn ich nur das Protokoll sehen möchte, drücke ich Shift+, Fum zum Dateiende zu gelangen und die Protokolle weiter zu beobachten. …
Wenn ich den Befehl ausführe, s3cmd get s3://bucket/file.gz -erhalte ich eine Binärausgabe auf dem Bildschirm. Wenn ich versuche, dies an gzip mit zu leiten, s3cmd get s3://bucket/file.gz - | zcatbekomme ich gzip: stdin: not in gzip format. Wie kann ich zcatdie Eingabe auswählen stdin?
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.