設備文件
此頁由 Linux Wiki用戶Chenxing 於 2012年6月23日 (星期六) 00:59 的最後更改。
從 Linux Wiki
提示:此文已超过 12 年(4534 天)未更新,如发现内容过时或有误,欢迎改进:)
Linux中的設備都以文件形式存在於/dev中,內核文檔對其做了詳盡的介紹[1],國內也有翻譯文檔[2]。本文只摘錄較常用的設備。
常用設備
按照Linux的文件類型概念,設備文件分為字符設備文件和塊設備文件。下面對兩類設備文件中較常用的分別做介紹,設備號可以使用ls -l /dev看到。
主設備號 | 次設備號 | 文件名 | 簡介 |
---|---|---|---|
1 | 1 | /dev/mem | 訪問物理內存 |
2 | /dev/kmem | 訪問經內核映射後的內存(Kernel Virtual Memory) | |
3 | /dev/null | 空設備。寫入該設備的信息將被直接丟棄,讀取都將得到EOF。 | |
4 | /dev/port | 訪問I/O端口 | |
5 | /dev/zero | 產生null(0x00)位元組序列 | |
7 | /dev/full | 對該設備的寫操作將導致ENOSPC(無剩餘空間)錯誤。可用於測試磁盤空間滿時程序的行為(見/dev/full) | |
8 | /dev/random | 隨機數產生器。Linux中可依據系統的環境噪聲產生真隨機數,故速度很慢([3]) | |
9 | /dev/urandom | 更快但不夠安全的隨機數發生器 | |
2 | * | /dev/ptyp* | 偽終端,Pseudo-TTY masters |
3 | * | /dev/ttyp* | 偽終端,Pseudo-TTY slaves |
4 | 0-63 | /dev/tty0-63 | 虛擬控制台 |
64-255 | /dev/ttyS0-191 | UART串口 | |
5 | 0 | /dev/tty | 當前的TTY設備 |
1 | /dev/console | 當前的控制台設備 | |
6 | * | /dev/lp* | 並口打印機 |
10 | 0-15 | /dev/psaux等 | 非串口的各種鼠標 |
175 | /dev/fuse | Fuse | |
13 | 0,1.. | /dev/js0,1.. | Joystick |
32,33.. | /dev/mouse0,1.. | 鼠標 | |
63 | /dev/mice | 統一了的鼠標 | |
64,65.. | /dev/input/event0,1.. | 事件隊列 | |
14 | OSS(Open Sound System)設備,如mixer等 |
主設備號 | 次設備號 | 文件名 | 簡介 |
---|---|---|---|
1 | * | /dev/ram* | ramdisk |
2 | * | /dev/fd* | 軟驅 |
3 | 0 | /dev/hda | 第一個主IDE設備,如硬盤或光驅 |
64 | /dev/hdb | 第一個從IDE設備 | |
1 | /dev/hda1 | hda的第一個分區 | |
... | |||
63 | /dev/hda63 | hda的第63個分區 | |
4 | 0 | /dev/root | 根文件系統以只讀方式掛載時使用該設備作為動態分配的主(major)設備的別名 |
7 | * | /dev/loop* | loop設備,用於掛載在非塊設備上的文件系統,如ISO格式的虛擬光驅文件。 |
8 | 0 | /dev/sda | 第一個SCSI磁盤(USB硬盤、SATA硬盤都按SCSI處理) |
16 | /dev/sdb | 第二個SCSI磁盤(正因如此,最多只支持SCSI設備上15個分區) | |
11 | * | /dev/scd* | SCSI光驅 |
22 | 0,64 | /dev/hdc,d | 第二個主、從IDE設備 |
其它常見文件
/dev還有一些文件,它們並不是設備,而是符號鏈接等。
下表列出了與標準輸入輸出的一些符號鏈接文件:
軟鏈接名 | 目的地 | 說明 |
---|---|---|
/dev/fd | /proc/self/fd | 文件描述符 |
/dev/stdin | fd/0 | 文件描述符(標準輸入) |
/dev/stdout | fd/1 | 文件描述符(標準輸出) |
/dev/stderr | fd/2 | 文件描述符(標準錯誤輸出) |
參考資料
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。