linux mknod命令解析

2022-04-01 23:21:39 字數 977 閱讀 4592

個人覺得linux的軟體設計思想異常強大,比如把所有的裝置都當做檔案來處理,大大簡化了程式設計師的負擔,向提出這個思想的大神s致敬!!

先來看看linux系統中裝置管理的基本知識:

我們的linux作業系統跟外部裝置(如磁碟、光碟等)的通訊都是通過裝置檔案進行的,應用程式可以開啟、關閉、讀寫這些裝置檔案,從而對裝置進行讀寫,這種操作就像讀寫普通的檔案一樣easy。linux為不同種類的裝置檔案提供了相同的介面,比如read(),write(),open(),close()。

所以在系統與裝置通訊之前,系統首先要建立乙個裝置檔案,這個裝置檔案存放在/dev目錄下。其實系統預設情況下就已經生成了很多裝置檔案,但有時候我們需要自己手動新建一些裝置檔案,這個時候就會用到像mkdir, mknod這樣的命令。

mknod 的標準形式為:       mknod devname   major 

minor

1,devname是要建立的裝置檔名,如果想將裝置檔案放在乙個特定的資料夾下,就需要先用mkdir在dev目錄下新建乙個目錄;

2, b和c 分別表示塊裝置和字元裝置:

b表示系統從塊裝置中讀取資料的時候,直接從記憶體的buffer中讀取資料,而不經過磁碟;

c表示字元裝置檔案與裝置傳送資料的時候是以字元的形式傳送,一次傳送乙個字元,比如印表機、終端都是以字元的形式傳送資料;

3,major和minor分別表示主裝置號和次裝置號:

為了管理裝置,系統為每個裝置分配乙個編號,乙個裝置號由主裝置號和次裝置號組成。主裝置號標示某一種類的裝置,次裝置號用來區分同一型別的裝置。linux作業系統中為裝置檔案編號分配了32位無符號整數,其中前12位是主裝置號,後20位為次裝置號,所以在向系統申請裝置檔案時主裝置號不好超過4095,次裝置號不好超過2^20 -1。

下面,我們就可以用mknod命令來申請裝置檔案了。      

mkdir -p  /dev/cobing

mknod /dev/cobing/mydev1 c 128 512

linux mknod命令解析

個人覺得linux的軟體設計思想異常強大,比如把所有的裝置都當做檔案來處理,大大簡化了程式設計師的負擔,向提出這個思想的大神s致敬!先來看看linux系統中裝置管理的基本知識 我們的linux作業系統跟外部裝置 如磁碟 光碟等 的通訊都是通過裝置檔案進行的,應用程式可以開啟 關閉 讀寫這些裝置檔案,...

linux mknod命令解析

linux mknod命令解析 mknod make node 生成裝置節點 檔案 mknod option name type major minor description options 選項 create the special file name of the given type.man...

linux mknod命令解析

linux mknod命令解析 mknod make node 生成裝置節點 檔案 mknod option name type major minor description options 選項 create the special file name of the given type.man...