디스크가 컴팩트 플래시인지 표준 하드 드라이브인지 확인하는 방법

디스크가 컴팩트 플래시인지 표준 하드 드라이브인지 확인하는 방법

/dev/sda특정 블록 장치(예 : )가 컴팩트 플래시 디스크인지 일반 하드 드라이브인지 여부를 쉘 스크립트에서 확인해야 합니다 . Google은 한 번도 저를 도와주지 않았고 udevadm info --query=all --name=sda많은 정보를 제공했지만 "나는 확실히 플래시 드라이브가 아닙니다" 또는 "나는 확실히 하드 드라이브가 아닙니다"가 무엇을 의미하는지 깨닫지 못했습니다. .

이 두 가지 유형의 저장 장치를 구별하는 것이 가능합니까?

우분투 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

편집하다:sedCFA가 포함된 모델 또는 시리즈로부터 보호하기 위한 명령이 추가되었습니다 .

관련 정보