Прилагается все устройства хранения к [закрытой] машине Linux

108
задан Chinna 29 November 2013 в 12:02
поделиться

5 ответов

/proc/partitions перечислит все блочные устройства и разделы, которые распознает система. Можно тогда попытаться использовать file -s <device> для определения, какая файловая система присутствует на разделе, если таковые имеются.

78
ответ дан JakeGould 24 November 2019 в 03:31
поделиться

ls /sys/block

9
ответ дан Mihai Limbășan 24 November 2019 в 03:31
поделиться

Используя HAL (ядро 2.6.17 и):


#! /bin/bash
hal-find-by-property --key volume.fsusage --string filesystem |
while read udi ; do
    # ignore optical discs
    if [[ "$(hal-get-property --udi $udi --key volume.is_disc)" == "false" ]]; then
        dev=$(hal-get-property --udi $udi --key block.device)   
        fs=$(hal-get-property --udi $udi --key volume.fstype) 
        echo $dev": "$fs
    fi 
done
7
ответ дан ZungBang 24 November 2019 в 03:31
поделиться

Современные системы Linux будут обычно только иметь записи в/dev для устройств, которые существуют, таким образом проходя hda* и sda*, как Вы предполагаете, работал бы довольно хорошо.

Иначе, может быть что-то в/proc, который можно использовать. От беглого взгляда там, я сказал бы, что/proc/partitions похож на него, мог сделать то, в чем Вы нуждаетесь.

4
ответ дан Mark Baker 24 November 2019 в 03:31
поделиться

libsysfs выглядит потенциально полезным, но не непосредственно из сценария оболочки. Существует программа, которая идет с ним, назвал systool, который сделает то, что Вы хотите, хотя может быть легче просто посмотреть в/sys непосредственно вместо того, чтобы использовать другую программу, чтобы сделать это для Вас.

2
ответ дан Mark Baker 24 November 2019 в 03:31
поделиться