Linux mkfifo初學者命令教程(帶示例)

2021-10-08 05:25:53 字數 1484 閱讀 2032

如果你甚至是乙個溫和的linux命令列使用者,你必須知道管道,這是乙個允許程序進行通訊的基本命令列功能。 然後有乙個命名管道的概念(是的,有名字的管道,所以你可以用管道做更多的事情)。 使用mkfifo命令可以建立這樣的命名管道。

在本教程中,我們將使用一些易於理解的示例來討論mkfifo的基礎知識。 但在這之前,值得一提的是這裡的所有例子都已經在ubuntu 16.04 lts上測試過了。

linux mkfifo命令

mkfifo命令基本上可以讓你建立fifo(又名命名管道)。 以下是該命令的語法:

mkfifo [option]… name…

下面是該工具的手冊頁如何解釋它:

create named pipes (fifos) with the given names.

以下是一些問答樣式的例子,應該給你乙個關於mkfifo如何工作的好主意。

q1。 什麼是命名管道?

要理解這一點,你應該首先意識到基本管道的概念。 你會看到包含豎線(|)的命令。 這個欄被稱為管道。 它所做的是建立兩個程序之間的通訊通道(執行完整命令時)。

例如:ls | grep .txt

上面提到的命令由兩個程式組成: ls和grep 。 這兩個程式都由管道(|)分開。 所以這裡的管道是什麼,它建立了這些程式之間的通訊通道 - 當執行上述命令時,ls的輸出將作為輸入提供給grep。 最後,在終端上顯示的輸出只包含那些在其中包含』.txt』字串的條目。

所以這是普通管道的快速複習。 現在有了命名管道的概念。 正如名字本身所暗示的那樣,這些名字就是管道。 您可以使用mkfifo命令建立乙個命名管道。 例如:

mkfifo pipe2

所以』pipe2』現在是乙個命名管道。 現在問題是如何命名管道更有用? 那麼,考慮一下在終端中執行程序並生成輸出的情況,並且您想要的是將該輸出通道化到不同的終端。 所以在這裡,乙個命名管道可以有很大的幫助。

例如,假設ls是在第乙個終端中執行的程序,並且您希望在不同的終端中檢視它的輸出結果,那麼您可以執行以下操作:

ls > pipe2

以下是您可以在第二個終端中執行的操作:

cat < pipe2

什麼是命名管道

命名管道可以像檔案一樣正常訪問。 這意味著你可以使用ls命令來訪問它們。 如果您看到命名管道的訪問許可權,您會在開始時看到「p」。 這表示相關檔案是命名管道。 這是乙個例子:

正如您在前面的問答中所看到的那樣,命名管道的預設訪問許可權分別為』rw』,『rw』和』r』(分別針對使用者,組和其他人)。 但是,如果您願意,也可以設定自定義許可權,您可以使用-m選項執行某些操作。

例如:mkfifo pipe3 -m700

以下螢幕截圖確認設定了自定義許可權:

因此,根據您在linux命令列上做什麼樣的工作,mkfifo命令可以證明對您非常有用。 一旦您完成了我們在此討論的基本用法,您可以通過前往其手冊頁來了解有關該工具的更多資訊。

初學者談初學者學html

這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...

初學者mysql MySQL初學者使用指南

有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...

初學者 遞迴

program xuexi3 implicit none integer,external fact 呼叫函式需要寫external 待定 integer n write n read n write fact n stop endrecursive integer function fact n ...