gpt4 book ai didi

linux - 检测 block 设备是本地磁盘还是移动U盘

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:23 26 4
gpt4 key购买 nike

有什么方法可以检测 block 设备(如/dev/sda 或/dev/sdc)是否与本地磁盘(我指的是 scsi 或 sata)或可移动 USB 磁盘相关?

我正在编写一个 shell 脚本,它必须只检测本地磁盘 block 设备,不包括任何可移动磁盘。

谢谢!

最佳答案

您可以使用 udev ,Linux 设备管理器。

查询每个 block 设备将显示有关它的几个信息,包括总线,您可以使用它来辨别设备是否是可移动 USB 设备。

这是脚本:

for device in /sys/block/sd*; do
device_info="$(udevadm info --query=property --path=$device)"

device_name=$(echo "$device_info" | perl -ne 'print "$1" if /^DEVNAME=(.*)/')
device_bus=$(echo "$device_info" | perl -ne 'print "$1" if /^ID_BUS=(.*)/')

echo "Device $device_name bus: $device_bus"
done

这是一个示例结果:

Device /dev/sda bus: ata
Device /dev/sdb bus: ata
Device /dev/sdc bus: usb

关于linux - 检测 block 设备是本地磁盘还是移动U盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com