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位表示次裝置號。乙個裝置檔案通常與乙個硬體裝置相關聯,或者與硬體裝置的某一物理或邏...