/dev/sda
特定のブロックデバイス(たとえば)がコンパクトフラッシュディスクか通常のハードドライブであるかをシェルスクリプトで確認する必要があります。 Googleは一度も私を助けてくれず、udevadm info --query=all --name=sda
多くの情報を提供しましたが、「私は間違いなくフラッシュドライブではありません」または「私は確かにハードドライブではありません」が何を意味するのか理解していませんでした. 。
これら2種類のストレージデバイスを区別することは可能ですか?
Ubuntu 10.10を使用してください。
答え1
そうだ可能(いくつかの注意事項があるかもしれませんが)これは、フラッシュベースのストレージデバイスと既存のハードドライブとを区別します。
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
編集する:sed
CFAを含むモデルまたはシリーズから保護するためのコマンドが追加されました。