Каков наилучший способ узнать информацию о файле файловой системы.
Например, если у меня есть файл
/media/xyz/path/to/file.ext
И /etc/fstab
содержит
//server1/Share1 /media/xyz cifs option1=value1,...
Как определить, что файл находится на общем ресурсе Samba, имеет локальный путь /path/to/file.ext
и с какими параметрами была смонтирована файловая система?
Разбирает ли вывод mount
портативного решения? Или разобрать findmnt
? Есть ли POSIX-совместимый способ добиться этого?
df /path/to/file
должен показать раздел или монтировать./proc/mounts
. Есть ли совместимый с BSD / OSX способ добиться того же?mount
и т. д. для получения файловой системы и опций и т. д. Я до сих пор не уверен в том, как лучше всего найти эту информацию в * BSD и OSX. У меня не было времени поработать над библиотекой, которая требует этого, но когда я это сделаю, я получу обратную связь Из того, что я видел,mount -P
кажется довольно надежным для Linux / BSD.Ответы:
stat (1) - это портативный способ узнать некоторые из этих сведений, например:
Все остальное очень зависит от ОС, на последних системах Linux вы можете легко использовать
findmnt --output
в скрипте.источник
stat
также специфичен для ОС.если я правильно понял вашу потребность и, комбинируя биты из предыдущих ответов, вам может понадобиться следующее. определить в скрипте (например, в вашем .bashrc) -
и тогда вы можете запустить его по мере необходимости
источник
findmnt
не нужно всего этого, он может сделать это сам по себе