GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux mkfifo Command Tutorial für Anfänger (mit Beispielen)

Wenn Sie auch nur ein moderater Linux-Befehlszeilenbenutzer sind, müssen Sie sich der Pipes bewusst sein, einer grundlegenden Befehlszeilenfunktion, die die Kommunikation von Prozessen ermöglicht. Dann gibt es ein Konzept benannter Pipes (ja, Pipes mit Namen, damit Sie mehr mit Pipes machen können). Das mkfifo Mit dem Befehl können Sie solche Named Pipes erstellen.

In diesem Tutorial werden wir die Grundlagen von mkfifo anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf Ubuntu 16.04 LTS getestet wurden.

Linux mkfifo-Befehl

Mit dem mkfifo-Befehl können Sie grundsätzlich FIFOs (auch bekannt als Named Pipes) erstellen. Es folgt die Syntax des Befehls:

mkfifo [OPTION]... NAME...

Und so erklärt es die Manpage des Tools:

Create named pipes (FIFOs) with the given NAMEs.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie mkfifo funktioniert.

Q1. Was genau sind Named Pipes?

Um dies zu verstehen, sollten Sie sich zunächst mit dem Konzept der einfachen Pfeifen vertraut machen. Sie haben Befehle gesehen, die einen vertikalen Balken (|) enthalten. Dieser Balken wird Pipe genannt. Es erstellt einen Kommunikationskanal zwischen den beiden Prozessen (wenn der vollständige Befehl ausgeführt wird).

Zum Beispiel:

ls | grep .txt

Der oben erwähnte Befehl besteht aus zwei Programmen:ls und grep. Diese beiden Programme sind durch einen senkrechten Strich (|) getrennt. Was pipe hier also tut, ist, es erstellt einen Kommunikationskanal zwischen diesen Programmen - wenn der oben erwähnte Befehl ausgeführt wird, wird die Ausgabe von ls als Eingabe an grep übergeben. Somit besteht die Ausgabe, die auf dem Terminal angezeigt wird, nur aus den Einträgen, die eine '.txt'-Zeichenfolge enthalten.

Das war also eine schnelle Auffrischung der normalen Pfeifen. Jetzt kommt das Konzept der Named Pipes. Wie der Name schon sagt, handelt es sich um Pfeifen mit Namen. Sie können eine benannte Pipe mit dem Befehl mkfifo erstellen. Zum Beispiel:

mkfifo pipe2

„Pipe2“ ist jetzt also eine benannte Pipe. Jetzt kommt die Frage, wie Named Pipes nützlicher sind? Stellen Sie sich den Fall vor, in dem Sie einen Prozess haben, der in einem Terminal läuft und eine Ausgabe erzeugt, und Sie möchten diese Ausgabe auf ein anderes Terminal kanalisieren. Hier könnte also eine benannte Pipe eine große Hilfe sein.

Angenommen, ls ist der Prozess, der im ersten Terminal ausgeführt wird, und Sie möchten seine Ausgabe in einem anderen Terminal sehen. Sie können also Folgendes tun:

ls > pipe2

und Folgendes können Sie im zweiten Terminal tun:

cat < pipe2

Q2. Wie erkennt man Named Pipes?

Auf Named Pipes kann ganz normal wie auf Dateien zugegriffen werden. Das bedeutet, dass Sie mit dem Befehl ls darauf zugreifen können. Wenn Sie die Zugriffsberechtigungen für eine benannte Pipe sehen, sehen Sie am Anfang ein „p“. Dies bedeutet, dass es sich bei der betreffenden Datei um eine benannte Pipe handelt. Hier ist ein Beispiel:

Q3. Wie werden benutzerdefinierte Zugriffsberechtigungen festgelegt?

Wie Sie in den vorherigen Fragen und Antworten sehen können, lauten die Standardzugriffsberechtigungen für Named Pipes „rw“, „rw“ und „r“ (jeweils für Nutzer, Gruppen und andere). Wenn Sie möchten, können Sie jedoch auch benutzerdefinierte Berechtigungen festlegen, was Sie mit der Option -m tun können.

Zum Beispiel:

mkfifo pipe3 -m700

Der folgende Screenshot bestätigt, dass benutzerdefinierte Berechtigungen festgelegt wurden:

Um mehr über mkfifo zu erfahren, können Sie die --help verwenden und --version Optionen.

Schlussfolgerung

Je nachdem, welche Art von Arbeit Sie auf der Linux-Befehlszeile ausführen, kann sich der Befehl mkfifo als sehr nützlich für Sie erweisen. Sobald Sie mit der grundlegenden Verwendung fertig sind, die wir hier besprochen haben, können Sie mehr über das Tool erfahren, indem Sie zu seiner Manpage gehen.


Linux
  1. Linux expand Command Tutorial für Anfänger (mit Beispielen)

  2. Linux yes Command Tutorial für Anfänger (mit Beispielen)

  3. Linux nproc Command Tutorial für Anfänger (mit Beispielen)

  4. Linux-Benutzer Befehls-Tutorial für Anfänger (mit Beispielen)

  5. Linux sum Command Tutorial für Anfänger (mit Beispielen)

Linux sha1sum Command Tutorial für Anfänger (mit Beispielen)

Linux Look Command Tutorial für Anfänger (mit Beispielen)

Linux-Lsattr-Befehls-Tutorial für Anfänger (mit Beispielen)

Linux tload Command Tutorial für Anfänger (mit Beispielen)

Linux znew Command Tutorial für Anfänger (mit Beispielen)

Linux tr Command Tutorial für Anfänger (mit Beispielen)