Lau*_*low 5 shell ubuntu block-device
我需要在 shell 脚本中确定给定的块设备(例如/dev/sda
)是小型闪存盘还是普通硬盘。谷歌一次没有帮助我,虽然udevadm info --query=all --name=sda
给了我很多信息,但我没有意识到“我肯定(不是)闪存驱动器”或“我肯定(不是)硬盘驱动器”。
是否可以区分这两种类型的存储设备?
我使用 Ubuntu 10.10。
看起来(尽管可能有警告)这将区分基于闪存的存储设备和传统硬盘:
is_compact_flash ()
{
hdparm -I $1 | sed -n '\_Commands/features:_,\_Security:_p' | \
grep -q CFA && return 0 || return 1
}
disk=/dev/sda
if is_compact_flash $disk; then
echo "$disk is a compact flash disk"
else
echo "$disk is not a compact flash disk"
fi
Run Code Online (Sandbox Code Playgroud)
编辑:添加sed
命令以防范包含 CFA 的型号或序列。