linux mkfifo命令基本用法

  1. 首先了解linux命令執行順序
    • 一般狀況下,終端只能執行一條命令,而後按下回車,那麼執行多條命令呢
      順序執行多條命令,能夠用分號;
      cmd1;cmd2;cmd3
      條件執行多條命令,使用&&(前一個命令執行成功,即$?=0時,執行下一條命令,不然不執行)和||(前一個命令執行失敗,既$?≠0時,執行下一條命令)
      cmd1&&cmd2||cmd3
      $?:上一次命令的返回結果,0爲執行成功,不爲0則爲執行失敗
  2. 而後瞭解下管道命令(pipe)
    • 管道是一種通訊機制,用於進程間的通訊(也可經過socket進行網絡通訊),表現出來的形式將前面的每個進程的輸出,直接做爲下一個進程的輸入
    • 管道命令僅能處理stdout,而error則會忽略
  3. 常見管道命令
    • cut、grep、sort、wc、uniq
    • tee:重定向,既能在屏幕輸出,又能保存到文件中
    • tr、col、join、paste、expand、split
  4. mkfifo則能夠建立命名管道
    • 什麼是命名管道
      |(豎線)爲管道,是兩個進程之間的通訊通道
      例如:ls|grep txt
      ls和grep由|分開,管道建立了程序之間的通訊通道,將ls的輸出做爲輸入傳給grep
      
      由mkfifo建立出來的就是一個命名管道
      例如:mkfifo pipe2
      pipe2就是一個命名管道。
    • 命名管道的做用
      能夠將輸出信道化到不一樣終端、
      例如:
      在第一個終端執行
      ls > pipe2
      在第二個終端執行
      cat < pipe2(或cat pipe2,是取一次。cat < pipe2是持續輸入,只要有內容傳到pipe2中,就會有內容輸出)
      pipe2更像是一個臨時存儲的地方,使用cat pipe2取過內容以後,再執行cat pipe2 ,則不會有顯示
    • 識別命名管道linux

      命名管道能夠像正常文件同樣訪問,在文檔類型能夠看到爲p
      [root@ricky01 ~]# ll pipe2 
      prw-r--r-- 1 root root 0 Oct 16 14:53 pipe2
    • 也能夠使用chmod設置權限
    • 刪除就像正常文件同樣使用rm刪除便可

參考:網絡

https://www.jianshu.com/p/9c0c2b57cb73socket

https://www.howtoing.com/linux-mkfifo-commandspa

相關文章
相關標籤/搜索