Linux下如何仅列出已挂载的可移动存储设备?(SUSE/RedHat)
判断SUSE/RedHat系统中已挂载的可移动设备
在SUSE(openSUSE、SUSE Linux Enterprise)或RedHat系(RHEL、CentOS、Fedora)系统中,除了mount/df列出挂载设备外,有几种直接的方法识别可移动设备:
1. 用lsblk快速筛选可移动设备
lsblk是专门用于块设备信息查看的工具,自带可移动属性标识:
lsblk -o NAME,MOUNTPOINT,RM,SIZE,TYPE
其中RM列的值为1时,代表该设备是可移动设备(USB、光驱等),0则为固定设备。输出示例:
NAME MOUNTPOINT RM SIZE TYPE sda 0 238.5G disk ├─sda1 /boot 0 512M part └─sda2 / 0 238G part sdb /mnt/usb 1 7.5G disk sr0 1 1024M rom
上面的sdb(USB盘)和sr0(光驱)就是可移动设备。
2. 查看/sys/block下的设备属性
每个块设备在/sys/block目录下都有对应的子目录,其中removable文件存储了设备的可移动状态:
- 先通过
df或mount找到目标挂载点对应的设备名(比如/mnt/usb对应/dev/sdb1,设备主名是sdb) - 查看可移动属性:
cat /sys/block/sdb/removable
输出1表示可移动设备,0表示固定设备。
3. 用udevadm查询设备的udev属性
udev是系统设备管理框架,通过udevadm可以获取设备的详细属性,判断是否为可移动/USB设备:
udevadm info --query=property --name=/dev/sdb
在输出中查找以下关键字:
ID_REMOVABLE=1:明确标记为可移动设备ID_BUS=usb:设备通过USB总线连接(通常是可移动设备)ID_DRIVE_CDROM=1:设备是光驱类(CD/DVD)
4. 结合mount和dmesg追溯设备连接日志
如果需要确认设备的连接过程,可以查看dmesg日志,搜索USB或可移动设备的连接记录:
dmesg | grep -i usb
日志中会显示类似usb-storage、New USB device found的条目,结合mount的挂载点就能对应上可移动设备。
内容的提问来源于stack exchange,提问作者psyntium
相关产品推荐
相关产品推荐

