- Определение типа файла устройства, badgopher, 11:35 , 30-Июн-09 (1) +1
>Вопрос такой. Как определить какой файл устройств из каталога /dev/ относиться к >жесткому диску, а какой к флешке или CD? На разных компах >жесткий определяется по разному, то как hda то как sda. Тебе поможет find -l. Оно выдает много интересной инфы. В том числе и disk identifier. Ниже представлен скрипт, который ищет нужный файл в /dev. Скрипт должен запускаться с правами рута. Значение переменной SAVED_DISK_NO замени на disk identifier своего диска. ------cut---------- #!/usr/bin/env bash SAVED_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---------
- Определение типа файла устройства, badgopher, 11:52 , 30-Июн-09 (2) +1
Если тебя интересует вопрос как различить любой CD, хард или флешку, то тут может помочь fdisk -l с грепом типа файловой системы. Конечно, различить флешку от харда тяжелее, но тут можно дополнительно воспользоваться выводом dmesg.
- Определение типа файла устройства, Niki, 12:57 , 30-Июн-09 (3)
Меня интересует как отличить неразбитый и не форматированный винт от cd и флешки. Соответственно на нем вообще не будит никакой файловой системы.
- Определение типа файла устройства, badgopher, 13:01 , 30-Июн-09 (4) +1
>Меня интересует как отличить неразбитый и не форматированный винт от cd и >флешки. Соответственно на нем вообще не будит никакой файловой системы. Ну тогда find'ом по блочным устройствам и найти то устройство у которого не будет партишенов. Тот же fdisk -l должен помочь.
- Определение типа файла устройства, gaa, 14:59 , 30-Июн-09 (5)
>Меня интересует как отличить неразбитый и не форматированный винт от cd и >флешки. Соответственно на нем вообще не будит никакой файловой системы. у cd и флешки общее то, что у них в /sys/block/${drive}/removable записано 1. Соответственно, у жёсткого диска там будет 0. Верно для Linux, как для других ОСей различить я не знаю, м.б. также.
|