Системный вызов stat
(man 2 stat
) возвращает идентификатор устройства, содержащего файл.
В сценарии этот идентификатор можно получить, например, с помощью
perl -e 'print((stat "/tmp/blah.txt")[0])'
* 1007. * Учитывая идентификатор, как мне получить имя диска, например,
/dev/sda2
или
/dev/disk1s1
?
Я хочу сделать это в сценарии (bash, perl и т. Д.), Предпочтительно впортативный способ, чтобы он надежно работал как на MacOS, так и на Linux.