1、首先Linux 系统使用 /dev 目录下特定的设备文件来标识插入的设备。会发现该目录下的某些文件,包括 /dev/sda 或者 /dev/hda 表示第一个主设备,每个分区使用一个数字来表示,比如 /dev/sda1 或 /dev/hda1 表示主设备的第一个分区等。
2、使用 df 命令来找出插入的 USB 设备名,查看插入你系统里的每一个设备及对应的挂载点,你可以使用下图中的 df 命令检查 Linux 系统磁盘空间使用情况:$ df -h。
3、使用 lsblk 命令查找 USB 设备名。也可以使用下面的 lsblk 命令(列出块设备)来列出插入系统里的所有块设备:$ lsblk。
4、使用 fdisk 工具识别 USB 设备名。fdisk 是一个功能强大的工具,用于查看系统中的所有分区表,包括所有的 USB 设备,使用 root 权限执行如下命令:$ sudo fdisk -l。
5、使用 dmesg 命令来识别出 USB 设备名,运行如下命令来查看内核 *** 作信息,同时也会打印出 USB 设备的信息:$ dmesg。
在linux系统中USB存储设备会和本机磁盘一样,作为本地存储设备管理。因此,输入fdisk
-l命令后,USB存储设备也会和本机磁盘一起被列出详细信息。
www.dnjsb.com
在这里U盘的设备名称为sdb,被模拟为SCSI设备进行存储管理。在linux
2.6.9内核以后,为USB存储设备增加了独立的管理模块,为driver/block/ub.c文件。
需要在内核编译中将device
driver->block
driver->low
usb
block编译为模块或编译在内核中。这样,USB存储设备将由ub模块管理,设备名称命名为ub*类型。
www.dnjsb.com
以USB转串口为例,通常设备节点名为ttyUSBx(x为0~n),Linux内核会根据插入设备的先后顺序进行编号的分配,比如第一个插入的设备编号为0,然后依此加1。如果仅仅以设备节点ttyUSBn来区别具体是哪个设备,因为末位的编号是随时会变的,所以就会造成混乱。无法保证A设备就是0,B设备就是1。目前的内核早已经解决类似的问题,将所以有USB设备都导致到sys文件系统中,其实每个USB端口都有唯一的端口号,相当于每个门店的门牌号。只要我们依据端口号来进行设备的区分,那么问题就迎刃而解了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)