Ⅰ Linux中如何通過設備號找到設備
一個字元設備或者塊設備都有一個主設備號和次設備號。主設備號和次設備號統稱為設備號。主設備號用來表示一個特定的驅動程序。次設備號用來表示使用該驅動程序的各設備。
查看主設備號:
# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
116 alsa
128 ptm
136 pts
162 raw
180 usb
189 usb_device
202 cpu/msr
203 cpu/cpuid
216 rfcomm
249 blkwatch_272
250 hidraw
251 usbmon
252 bsg
253 pcmcia
254 rtc
Block devices:
1 ramdisk
2 fd
259 blkext
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
如上所示,該命令會顯示字元設備和塊設備的主設備號。如果你想查看某個主設備號,那麼可以
[root@mylnx01 ~]# cat /proc/devices | grep 253
253 pcmcia
253 device-mapper
其中Device Mapper,Device Mapper 是 Linux 2.6 內核中提供的一種從邏輯設備到物理設備的映射框架機制,在該機制下,用戶可以很方便的根據自己的需要制定實現存儲資源的管理策略,當前比較流行的 Linux 下的邏輯卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基於該機制實現的。
次設備號查看
[root@mylnx01 ~]# ls -l /dev 或 ll /dev[root@mylnx01 ~]# ll /dev | grep 253 | grep -v grep
brw-rw---- 1 root root 253, 0 Jul 17 23:08 dm-0
brw-rw---- 1 root root 253, 1 Jul 17 23:08 dm-1
brw-rw---- 1 root root 253, 2 Jul 17 23:08 dm-2
brw-rw---- 1 root root 253, 3 Jul 17 23:08 dm-3
brw-rw---- 1 root root 253, 4 Jul 17 23:09 dm-4
brw------- 1 root root 253, 1 Jul 17 23:09 root
但是在一台伺服器的日誌信息遇到下面錯誤信息,通過/dev 沒有找到次設備號為253:14的塊設備。 如下所示
Jul 19 05:02:01 mylnx01 kernel: BLKWATCH ERR: Attempt to get a sector index out of the bitmap bounds.
Jul 19 05:02:01 mylnx01 kernel: BLKWATCH ERR: Critical error 1 happened for device 253:14. Additional info: Failed to mark block as dirty.
[root@getlnx01 ~]# ll /dev | grep 253 | grep -v grep
關於次設備號的主要用途,這篇博客主設備號和次設備號介紹了部分內容。
1、區分設備驅動程序控制的實際設備;
2、區分不同用途的設備 (misc 系列設備)
3、區分塊設備的分區 (partition)
通常,為了使應用程序區分所控制設備的類型,內核使用主設備號。而存在多台同類設備時,為了選擇其中的一種,設備驅動程序就使用次設備號。
# ll /dev/ | grep sd #或者命令 ll /dev/ | grep disk
brw-r----- 1 root disk 8, 0 Jul 17 23:08 sda
brw-r----- 1 root disk 8, 1 Jul 17 23:10 sda1
brw-r----- 1 root disk 8, 2 Jul 17 23:08 sda2
brw-r----- 1 root disk 8, 3 Jul 17 23:08 sda3
brw-r----- 1 root disk 8, 16 Jul 17 23:08 sdb
brw-r----- 1 root disk 8, 17 Jul 17 23:08 sdb1
brw-r----- 1 root disk 8, 18 Jul 17 23:08 sdb2
brw-r----- 1 root disk 8, 21 Jul 17 23:08 sdb5
brw-r----- 1 root disk 8, 32 Jul 17 23:08 sdc
brw-r----- 1 root disk 8, 33 Jul 17 23:08 sdc1
brw-r----- 1 root disk 8, 34 Jul 17 23:08 sdc2
brw-r----- 1 root disk 8, 37 Jul 17 23:08 sdc5
brw-r----- 1 root disk 8, 48 Jul 17 23:08 sdd
brw-r----- 1 root disk 8, 49 Jul 17 23:08 sdd1
brw-r----- 1 root disk 8, 50 Jul 17 23:08 sdd2
brw-r----- 1 root disk 8, 51 Jul 17 23:08 sdd3
brw-r----- 1 root disk 8, 53 Jul 17 23:08 sdd5
brw-r----- 1 root disk 8, 64 Jul 17 23:08 sde
brw-r----- 1 root disk 8, 65 Jul 17 23:08 sde1
brw-r----- 1 root disk 8, 66 Jul 17 23:08 sde2
brw-r----- 1 root disk 8, 67 Jul 17 23:08 sde3
brw-r----- 1 root disk 8, 69 Jul 17 23:08 sde5
brw-r----- 1 root disk 8, 80 Jul 17 23:08 sdf
brw-r----- 1 root disk 8, 81 Jul 17 23:08 sdf1
brw-r----- 1 root disk 8, 85 Jul 17 23:08 sdf5
brw-r----- 1 root disk 8, 96 Jul 17 23:08 sdg
brw-r----- 1 root disk 8, 97 Jul 17 23:08 sdg1
brw-r----- 1 root disk 8, 98 Jul 17 23:08 sdg2
brw-r----- 1 root disk 8, 101 Jul 17 23:08 sdg5
brw-r----- 1 root disk 8, 112 Jul 17 23:08 sdh
brw-r----- 1 root disk 8, 113 Jul 17 23:08 sdh1
brw-r----- 1 root disk 8, 117 Jul 17 23:08 sdh5
Ⅱ linux查看u盤設備
用FDISK-l 來找,一般U盤會被LINUX認為SCSI設備,如果有SCSI設備那麼U盤一般是最後一個SCSI設備.如果沒有SCSI設備,一般sda就是U盤。
若第一個插入的u盤一般是sda,但第二個插入的不同牌子的u盤有可能是sdb,而且下次插入時還是如此。
具體步驟:
1.查看所有的設備文件.
在linux的文件系統中, /dev中存放著所有的設備文件.
cd /dev #進入dev文件夾
ls #查看所有的文件
其中名為sda的系類是磁碟設備, sdb系列是U盤設備.
2.外部設備掛載點
在linux中, 外部設備需要掛載在/mnt文件夾中.
cd /mnt#進入/mnt文件夾
ls#列出所有文件, 發現一個也沒有
mkdir usb #創建一個名為usb的文件夾, 今後將usb設備掛載在此文件夾上.
3.使用mount命令掛載設備.
先查看/dev文件夾中的U盤設備具體名稱(以sdb開頭, 我的U盤名稱是sdb4, 如果有多個, 請一個一個嘗試, 我的由兩個(sdb, sdb4)).
sudo mount -t vfat /dev/sdb4 /mnt/usb#將外部名為sdb4的U盤設備掛載到/mnt/usb文件夾上.
cd /mnt/usb
ls#查看U盤中所有文件
請用後卸載設備 umount /dev/sdb4.
Ⅲ linux下怎麼查找usb對應的設備,比如滑鼠....
1、首先Linux 系統使用 /dev 目錄下特定的設備文件來標識插入的設備。會發現該目錄下的某些文件專,包括 /dev/sda 或者 /dev/hda 表示屬第一個主設備,每個分區使用一個數字來表示,比如 /dev/sda1 或 /dev/hda1 表示主設備的第一個分區等。