mknod

創建字符設備文件和塊設備文件

補充說明

mknod命令 用於創建Linux中的字符設備文件和塊設備文件。

語法

1mknod(選項)(參數)

選項

1-Z:設置安全的上下文;
2-m:設置權限模式;
3-help:顯示幫助信息;
4--version:顯示版本信息。

參數

  • 文件名:要創建的設備文件名;
  • 類型:指定要創建的設備文件的類型;
  • 主設備號:指定設備文件的主設備號;
  • 次設備號:指定設備文件的次設備號。

實例

1ls -la /dev/ttyUSB*
2crw-rw—- 1 root dialout 188, 0 2008-02-13 18:32 /dev/ttyUSB0
3mknod /dev/ttyUSB32 c 188 32

擴展知識

Linux的設備管理是和文件系統緊密結合的,各種設備都以文件的形式存放在/dev目錄 下,稱爲設備文件。應用程序可以打開、關閉和讀寫這些設備文件,完成對設備的操作,就像操作普通的數據文件一樣。

爲了管理這些設備,系統爲設備編了號,每 個設備號又分爲主設備號和次設備號。主設備號用來區分不同種類的設備,而次設備號用來區分同一類型的多個設備。對於常用設備,Linux有約定俗成的編 號,如硬盤的主設備號是3。

Linux爲所有的設備文件都提供了統一的操作函數接口,方法是使用數據結構struct file_operations。這個數據結構中包括許多操作函數的指針,如open()、close()、read()和write()等,但由於外設 的種類較多,操作方式各不相同。Struct file_operations結構體中的成員爲一系列的接口函數,如用於讀/寫的read/write函數和用於控制的ioctl等。

打開一個文件就是調用這個文件file_operations中的open操作。不同類型的文件有不同的file_operations成員函數,如普通的磁盤數據文件, 接口函數完成磁盤數據塊讀寫操作;而對於各種設備文件,則最終調用各自驅動程序中的I/O函數進行具體設備的操作。這樣,應用程序根本不必考慮操作的是設 備還是普通文件,可一律當作文件處理,具有非常清晰統一的I/O接口。所以file_operations是文件層次的I/O接口。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: