Вопрос такой. Как определить какой файл устройств из каталога /dev/ относиться к жесткому диску, а какой к флешке или CD? На разных компах жесткий определяется по разному, то как hda то как sda.
>Вопрос такой. Как определить какой файл устройств из каталога /dev/ относиться к
>жесткому диску, а какой к флешке или CD? На разных компах
>жесткий определяется по разному, то как hda то как sda.Тебе поможет find -l. Оно выдает много интересной инфы. В том числе и disk identifier. Ниже представлен скрипт, который ищет нужный файл в /dev. Скрипт должен запускаться с правами рута. Значение переменной SAVED_DISK_NO замени на disk identifier своего диска.
------cut----------
#!/usr/bin/env bashSAVED_DISK_NO="0x0002059a"
for DISK_NAME in `find /dev -type b`
do
echo "Processing $DISK_NAME..."
DISK_NO=`fdisk -l $DISK_NAME 2> /dev/null | grep "Disk identifier" | awk '{print $3}'`
if [ x"$DISK_NO" == x"$SAVED_DISK_NO" ]; then
echo "Found $DISK_NAME"
break
fi
done
-----end cut---------
Если тебя интересует вопрос как различить любой CD, хард или флешку, то тут может помочь fdisk -l с грепом типа файловой системы. Конечно, различить флешку от харда тяжелее, но тут можно дополнительно воспользоваться выводом dmesg.
Меня интересует как отличить неразбитый и не форматированный винт от cd и флешки. Соответственно на нем вообще не будит никакой файловой системы.
>Меня интересует как отличить неразбитый и не форматированный винт от cd и
>флешки. Соответственно на нем вообще не будит никакой файловой системы.Ну тогда find'ом по блочным устройствам и найти то устройство у которого не будет партишенов. Тот же fdisk -l должен помочь.
>Меня интересует как отличить неразбитый и не форматированный винт от cd и
>флешки. Соответственно на нем вообще не будит никакой файловой системы.у cd и флешки общее то, что у них в /sys/block/${drive}/removable записано 1. Соответственно, у жёсткого диска там будет 0.
Верно для Linux, как для других ОСей различить я не знаю, м.б. также.