То, какой путь Вы хотите пойти с этим, будет зависеть в большой степени от того, сколько времени Вы хотите вложить капитал по сравнению с тем, сколько Вы хотите потратить. Если Вы хотите к DIY и ничего не тратите, можно использовать любимый метод, чтобы говорить с WMI, который имеет всю информацию, которая Вы после. Инструменты, такие как Scriptomatic могут сделать эти сценарии легче записать.
Можно сделать на скорую руку сценарий для выполнения при входе в систему, или - с верными полномочиями - можно вытянуть информацию удаленно (через RPC, я верю).
В другом конце спектра у Вас есть инвентаризация и контроль продуктов как Nagios - Вы получите десятки результатов, ищущих то имя на SF.
mount
знает это.
Пример:
mount | grep /dev/sdc1
Или (вероятно, чтобы быть быстрее):
grep '/dev/sdc1' /etc/mtab
Чтобы найти фактическое устройство по UUID, blkid
может быть лучше, чем ваш Решение readlink
, основанное на udev.
myuuid="7DCD-9380"
mydev=$(blkid -l -o device -t UUID="$myuuid")
Чтобы получить точку монтирования для этого устройства, вы можете использовать следующее:
grep $mydev /proc/mounts | cut -d' ' -f 2
или
df -P | grep $mydev | awk '{print $6}'
Последнее более переносимо, потому что / proc предназначен только для Linux. Решение df
с параметром -P
(POSIX) также должно работать на Mac и других системах Unix.
Конечно, оба варианта не работают, если ваша точка монтирования содержит пробелы. Но никто не вешает вещи "
То, что вам нужно, это findmnt
. Например:
$ findmnt -rn -S UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -o TARGET
/mnt/mountpoint
или
$ findmnt -rn -S PARTUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -o TARGET
/mnt/mountpoint
Если не смонтировано ничего, что соответствовало бы UUID, то ничего не выводится и код возврата равен 1 (сбой), в противном случае выводится точка монтирования и код возврата равен 0 (успех).
-r, --raw use raw output format
-n, --noheadings don't print column headings
-S, --source <string> the device to mount (by name, maj:min,
LABEL=, UUID=, PARTUUID=, PARTLABEL=)
-o, --output <list> the output columns to be shown
Available columns:
...
TARGET mountpoint
...