В Linux вы можете использовать stat
для перечисления уникального идентификатора, связанного с каждой смонтированной файловой системой:
stat -f -c %i somefile
Так, например, чтобы перечислить точки монтирования в текущем каталоге (при условии, что в именах файлов нет новой строки) вы можете запустить
stat -f -c '%i %n' * | grep -v "^$(stat -f -c %i .)"
В zsh вы можете использовать модуль zsh / stat
. Загрузите его с помощью zmodload zsh / stat
, затем
zstat +device *
Чтобы перечислить точки монтирования в текущем каталоге:
zstat +device * | grep -v " $(zstat +device .)"
или
print -rl -- *(e\''[[ $(zstat +device $REPLY) == '$(zstat +device .)' ]]'\')
Обратите внимание, что идентификатор файловой системы один и тот же для разных представлений одной и той же файловой системы, например, если вы монтируете один и тот же сетевой ресурс в разных местах
, или с привязкой к Linux. Однако подобтомы btrfs получают свой собственный идентификатор. Анализ вывода df
более сложен, но не имеет этого ограничения.