The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Определение типа файла устройства, !*! Niki, 30-Июн-09, 10:23  [смотреть все]
Вопрос такой. Как определить какой файл устройств из каталога /dev/ относиться к жесткому диску, а какой к флешке или CD? На разных компах жесткий определяется по разному, то как hda то как sda.
  • Определение типа файла устройства, !*! 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, как для других ОСей различить я не знаю, м.б. также.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру