linux管道 如何理解一切皆檔案

2021-09-27 07:57:39 字數 819 閱讀 4742

一、linux檔案型別 (涉及到i/o的都可以抽象為檔案)

1.普通檔案          # ***.log

2.目錄 # /usr/ /home/

3.字元裝置檔案 # /dev/tty的屬性是 crw-rw-rw- ,注意前面第乙個字元是 c ,這表示字元裝置檔案,比如貓等串列埠裝置

4.塊裝置檔案 # /dev/hda1 的屬性是 brw-r----- ,注意前面的第乙個字元是b,這表示塊裝置,比如硬碟,光碟機等裝置

5.套接字檔案 # /var/lib/mysql/mysql.sock srwxrwxrwx

6.管道 # pipe

7.符號鏈結檔案 # softlink...

比如鍵盤的輸入 網路流的寫入 普通檔案內容的寫入

二、檔案描述符 開啟檔案表

系統為每乙個程序維護了乙個檔案描述符表,該錶的值都是從0開始的。系統自己也維護了乙個開啟檔案表 。需要操作檔案時 先進行開啟得到檔案描述符 然後進行操作 0 1 2是特殊的檔案描述符

三、管道

管道是一種存在於緩衝區的fifo檔案

匿名管道只能存在父子程序之間

命名管道(相當於有了檔名) 不同程序可以通過這個檔案進行通訊

linux一切皆是檔案 LINUX一切皆檔案

只要用過linux的筒子,或者保守點說接觸到一些linux思想的同志肯定聽說過這樣一句話,在linux下,一切皆是檔案 不錯,今天walfred將在快速上手linux裝置驅動這一塊,談談linux的裝置也符合 一切皆是檔案 的思想在linux裝置驅動模型應用。如果你不理解linux裝置模型,請看下面...

Linux 一切皆檔案

一切皆是檔案 是 unix linux 的基本哲學之一 不僅普通的檔案,目錄 字元裝置 塊裝置 套接字等在 unix linux 中都是以檔案被對待 它們雖然型別不同,但是對其提供的卻是同一套操作介面。檔案本質就是一種抽象,一般是指對資料的一種抽象。同時,檔案 也表示資料的儲存組織形式。資料庫就是另...

Linux 一切皆檔案

啟動乙個程序,需要乙個程式檔案,這是乙個二進位制檔案。啟動的時候,要載入一些配置檔案,例如 yml properties 等,這是文字檔案 啟動之後會列印一些日誌,如果寫到硬碟上,也是文字檔案。但是如果我想把日誌列印到互動控制台上,在命令列上唰唰地列印出來,這其實也是乙個檔案,是標準輸出 stdou...