精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux中的管道和命名管道介紹

Linux愛好者 ? 來源:未知 ? 作者:工程師曾玲 ? 2018-09-23 10:33 ? 次閱讀

Linux 中,pipe能讓你將一個命令的輸出發送給另一個命令。管道,如它的名稱那樣,能重定向一個進程的標準輸出、輸入和錯誤到另一個進程,以便于進一步處理。

“管道”(或稱“未命名管道”)命令的語法是在兩個命令之間加上|字符:

Command-1 | Command-2 | ...| Command-N

這里,該管道不能通過另一個會話訪問;它被臨時創建用于接收Command-1的執行并重定向標準輸出。它在成功執行之后刪除。

Linux中的管道和命名管道介紹

在上面的示例中,contents.txt包含特定目錄中所有文件的列表 —— 具體來說,就是ls -al命令的輸出。我們首先通過管道(如圖所示)使用 “file” 關鍵字從contents.txt中grep文件名,因此cat命令的輸出作為grep命令的輸入提供。接下來,我們添加管道來執行awk命令,該命令顯示grep命令的過濾輸出中的第 9 列。我們還可以使用wc -l命令計算contents.txt中的行數。

只要系統啟動并運行或直到它被刪除,命名管道就可以持續使用。它是一個遵循FIFO(先進先出)機制的特殊文件。它可以像普通文件一樣使用。也就是,你可以寫入,從中讀取,然后打開或關閉它。要創建命名管道,命令為:

mkfifo

這將創建一個命名管道文件,它甚至可以在多個 shell 會話中使用。

創建 FIFO 命名管道的另一種方法是使用此命令:

mknod p

要重定向任何命令的標準輸出到其它命令,請使用>符號。要重定向任何命令的標準輸入,請使用

Linux中的管道和命名管道介紹

如上所示,ls -al命令的輸出被重定向到contents.txt并插入到文件中。類似地,tail命令的輸入通過

Linux中的管道和命名管道介紹

Linux中的管道和命名管道介紹

這里,我們創建了一個命名管道my-named-pipe,并將ls -al命令的輸出重定向到命名管道。我們可以打開一個新的 shell 會話并cat命名管道的內容,如前所述,它顯示了ls -al命令的輸出。請注意,命名管道的大小為零,并有一個標志 “p”。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11227

    瀏覽量

    208924
  • 管道
    +關注

    關注

    3

    文章

    145

    瀏覽量

    17929

原文標題:介紹 Linux 中的管道和命名管道

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux匿名管道命名管道的區別

    管道是 UNIX系統 IPC的最古老的形式,所有的UNIX系統都提供此種通信。所謂的管道,也就是內核里面的一串緩存,從管道的一段寫入的數據,實際上是緩存在內核的,令一端讀取,也就是從
    發表于 10-12 12:50 ?977次閱讀

    Linux下進程間通信方式-管道

    連接到另一個程序的輸入。Linux管道主要包括兩種:無名管道和有名管道。 1.無名管道 無名管道
    發表于 08-29 15:29

    標準流管道

    華清遠見嵌入式linux學習資料《標準流管道》,1.標準流管道函數說明 。與Linux的文件操作中有基于文件流的標準I/O操作一樣,管道的操
    發表于 09-09 14:13

    無名管道系統調用

    `華清遠見嵌入式linux學習資料《無名管道系統調用》, 1.管道創建與關閉說明。管道是基于文件描述符的通信方式,當一個管道建立時它會創建兩
    發表于 09-09 14:17

    命名管道FIFO讀寫規則

    Linux命名管道FIFO的讀寫規則《Linux程序設計(第3版)》對于Linux命名
    發表于 09-24 10:49

    linux系統管道介紹和線程同步代碼示例

    傳統的進程間通信其中有無名管道(PIPE)、有名管道(FIFO)和信號(Signal)。咱們今天就說說linux基于POSIX的有名管道(
    發表于 10-06 09:55

    CAD軟件怎么識別出戶管道

    在繪制給排水CAD圖紙的過程中經常要設置出戶管道,那么浩辰CAD給排水軟件如何識別出戶管道呢?接下來的CAD制圖教程就讓小編來給大家介紹一下國產CAD軟件——浩辰CAD給排水軟件
    發表于 05-18 10:15

    管道元件介紹

    各種管道元件介紹 圖文解說
    發表于 08-16 17:09 ?0次下載

    進程間通信之:管道

    8.2.1 管道概述 本書在第2章中介紹ps的命令時提到過管道,當時指出了管道Linux中一種很重要的通信方式,它是把一個程序的輸出直接連
    發表于 10-18 16:06 ?0次下載
    進程間通信之:<b class='flag-5'>管道</b>

    Linux系統管道和有名管道的通信機制解析

    Linux 進程間通信的幾種主要手段。其中管道和有名管道是最早的進程間通信機制之一,管道可用于具有親緣關系進程間的通信,有名管道克服了
    發表于 11-07 10:51 ?0次下載

    Linux 多線程同步-命名管道

    命名管道(FIFO)既可用于進程間通信,也可用于線程間通信;  FIFO是一種文件類型,一般文件I/O函數(close,read,write,unlink等)都適用于FIFO  一
    發表于 04-02 14:49 ?377次閱讀

    Linux進程間通信方式——管道

    管道Linux中進程間通信的一種方式,它把一個程序的輸出直接連接到另一個程序的輸入。Linux管道主要包括兩種:無名管道和有名
    發表于 06-01 09:13 ?1389次閱讀
    <b class='flag-5'>Linux</b>進程間通信方式——<b class='flag-5'>管道</b>

    Linux進程間通信方法之管道

    上文中我們介紹了進程間通信的方法之一:信號,本文將繼續介紹另一種進程間通信的方法,即管道管道Linux中使用shell經常用到的一個技術
    的頭像 發表于 05-14 15:47 ?1935次閱讀
    <b class='flag-5'>Linux</b>進程間通信方法之<b class='flag-5'>管道</b>

    闡述匿名管道命名管道

    內核讀取這段數據。對于管道傳輸的數據是無格式的流且大小受限。對于管道來說,也分為匿名管道命名管道
    的頭像 發表于 01-20 17:17 ?1186次閱讀
    闡述匿名<b class='flag-5'>管道</b>和<b class='flag-5'>命名</b><b class='flag-5'>管道</b>

    linux管道概述

    一、進程間通信(IPC)介紹 進程間通信(IPC,InterProcess Communication)是指在不同進程之間傳播或交換信息。 IPC的方式通常有管道(包括無名管道命名
    的頭像 發表于 02-18 14:51 ?470次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>管道</b>概述