Linux-mknod命令

_清风_明月發表於2024-08-22

mknod

建立塊裝置或者字元裝置檔案。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

用法:

mknod [選項]... 名稱 型別 [主裝置號 次裝置號]

選項引數列表:

選項 說明
--version 顯示命令版本資訊
--help 顯示幫助資訊
-m | --mode=MODE 設定許可權,類似chmod,後跟660、777等數字許可權
-Z | --context=CTX 為建立的裝置設定SELinux的安全上下文,確保該裝置在SELinux安全策略下正常工作
裝置型別 b,塊裝置;c,字元裝置;u,沒有緩衝的字元裝置;p,fifo裝置
裝置號 主裝置號和次裝置號以"0x"或"0X"開頭,它們會被視作十六進位制數來解析;如果以"0"開頭,則被視作八進位制數;其餘情況下被視作十進位制數。裝置型別為"p"時可不指定主裝置號和次裝置號,否則它們是必須指定的。

詳細說明:

  • b-塊裝置:可以用來表示磁碟、分割槽、快閃記憶體驅動器等儲存介質。這些裝置通常支援隨機讀寫操作,並且資料是以固定大小的資料塊進行組織的。
  • c,u-字元裝置:是指只能一個位元組一個位元組進行讀寫操作的裝置,不能隨機讀取裝置中的某一資料、讀取資料要按照先後資料。字元裝置是面向流的裝置,常見的字元裝置有滑鼠、鍵盤、串列埠、控制檯和LED等以及/dev/null等特殊的字元裝置。
  • p-fifo裝置:一種特殊型別的檔案,用於程序間的通訊。它允許一個程序向 FIFO 寫入資料,另一個程序從 FIFO 讀取資料。類似的建立管道的命令還有mkfifo
  • 主裝置號:用於標識裝置型別。例如:主裝置號 8 通常用於標識傳統的 IDE 硬碟和部分 SCSI 硬碟;主裝置號 65(或者 0x41)用於標識一些現代的 SCSI 和 SAS 硬碟;主裝置號 252 或 253(或者 0xFC 或 0xFD)用於標識一些固態硬碟(SSD)和其他高速儲存裝置;主裝置號 5 通常用於標識標準的串列埠;主裝置號 11 通常用於標識聲音卡;主裝置號 81(或者 0x51)通常用於標識影片捕獲裝置。
  • 次裝置號:次裝置號用於區分同一型別的不同裝置例項。自定義一個唯一的裝置號即可。

示例:

# 建立100個loop塊裝置
#!/bin/bash
for i in $(seq 1 100)
do
  mknod "/dev/loop$i" b 7 $i
done

相關文章