mknod指令詳解

2021-07-31 07:23:29 字數 1987 閱讀 5487

mknod - make block or character special files

mknod [option]... name type [major minor]

option 有用的就是 -m 了

name   自定義

type   有 b 和 c 還有 p

主裝置號

次裝置號

主裝置號是由linux/major.h定義的,如下定義了乙個doc裝置:

#define igel_flash_major 62

假如有乙個命令mknod doc b 62 0 :

其中的doc為定義的名字,b指塊裝置,0指的是整個doc。如果把0換為1,則1指的是doc的第乙個分割槽。2是第2個,對於塊裝置次裝置號就表示該塊裝置上的分割槽號,依次類推。

至於mknod console c 5 1 的意思也很相似:

console是裝置的名字

c指字元裝置

5是該裝置在major.h中定義的標記

1是第乙個子裝置

mknod console c 5 1

console為裝置檔名,自己隨便取

c是指字元型裝置(可選b,塊裝置)

5是主裝置號/dev/devices裡面記錄現有的裝置

找個沒有用的就可以了

1是次裝置號,當你要給兩個同樣的裝置上乙個驅動的時候就要分了,從0開始,1就是第二個了,對於字元裝置,次裝置號就表示同型別裝置的不同裝置。

通常情況下,安裝系統時已經建立了常用的裝置檔案,可以直接訪問這些裝置檔案來訪問裝置。但在使用者重新定製核心,並新增了新硬體驅動程式之後,新驅動程式對應的裝置檔案就可能不存在。在freebsd中,最常見的例子就是在核心中增加音效卡的驅動程式時,就需要建立相應裝置檔案。

建立裝置檔案的基本方式是使用mknod,但是必須知道該裝置的正確裝置號才可以。另一種簡單的方式是使用/dev目錄下的shell程式makedev來完成,makedev實質上就是記錄了很多裝置的名字與其裝置號之間的關係的程式,因此它能使用正確的裝置號來建立裝置。首先進入/dev目錄,然後再執行makedev。

# cd /dev

# sh makedev snd0

makedev將使用裝置名作引數建立裝置檔案,同時也建立這個裝置檔案依賴的其他相關裝置檔案。makedev的引數,並不一定為建立的裝置檔名。例如建立「makedev vty8」 將建立ttyv0到ttyv7共8個裝置檔案,使用「makedev wd1s1a」 命令,將建立wd1、wd1s1、wd1s2等,以及wd1s1a、wd1s1b等裝置檔案。也可以使用all做makedev的引數,這將首先清除/dev目錄下的所有裝置檔案,然後makedev建立所有預設的裝置檔案。一般情況下這將建立足夠多的裝置檔案,其中的大部分裝置檔案在具體的系統中不會用得到。

如果對乙個系統中沒有(或者即使有但核心沒有支援或探測到)的裝置對應的裝置檔案進行操作,則系統返回device not configured的錯誤資訊。

makedev將使用mknod和對應裝置的正確引數,包括字元或塊裝置、主裝置號

和從裝置號來建立相應的裝置檔案。管理員也可以直接使用 mknod建立裝置檔案,但這就必須將這些裝置引數統統指定正確才行。因此除非對系統中的硬體驅動程式特別熟悉,一般不直接使用mknod來建立裝置文

件。[root@can]# ll /dev/hd

hda   hda1  hda2  hda3  hda4  hda5  hdc

[root@can]# ll /dev/hda

brw-r----- 1 root disk 3, 0 2008-12-18 /dev/hda

[root@can]# ll /dev/hda4

brw-r----- 1 root disk 3, 4 2008-12-18 /dev/hda4

[root@can]#

使用者還可以在命令列使用「mknod管道名p」來建立有名管道

Linux基礎命令 mknod

mknod 建立塊裝置或者字元裝置檔案。此命令的適用範圍 redhat rhel ubuntu centos suse opensuse fedora。1 語法 mknod 選項 裝置名 裝置型別 主裝置號 次裝置號 2 選項引數列表 選項說明 version 顯示命令版本資訊 help 顯示幫助資...

裝置檔案的建立mknod

裝置檔案是通過mknod命令來建立的。其命令格式為 mknod option name type major minor type取值 主裝置號和次裝置號兩個引數合併成乙個16位的無符號短整形,高8位表示主裝置號,低8位表示次裝置號。乙個裝置檔案通常與乙個硬體裝置相關聯,或者與硬體裝置的某一物理或邏...

裝置檔案的建立mknod

裝置檔案是通過mknod命令來建立的。其命令格式為 mknod option name type major minor type取值 主裝置號和次裝置號兩個引數合併成乙個16位的無符號短整形,高8位表示主裝置號,低8位表示次裝置號。乙個裝置檔案通常與乙個硬體裝置相關聯,或者與硬體裝置的某一物理或邏...