Как определить, находится ли каталог на смонтированном диске NFS?

Как определить, находится ли каталог на смонтированном диске NFS?

Как определить, находится ли заданный каталог на компьютере с Linux на смонтированном диске NFS или нет?

решение1

Вы можете использовать df -t nfs <directory>, что даст вывод вроде

$ df /home/aland/ -t nfs
Filesystem           1K-blocks      Used Available Use% Mounted on
nfs_oscar:/home      1255425376 874128064 316496736  74% /home

если каталог принадлежит монтированию NFS, и ничего в противном случае:

$ df /root/ -t nfs
Filesystem           1K-blocks      Used Available Use% Mounted on

Редактировать: более простой способ: df -T <directory>(флаг -Pиспользуется для отключения красивого форматирования для облегчения tailing ​​и awking):

$ df /home/aland/ -TP  | tail -n -1 | awk '{print $2}'
nfs

решение2

Вы можете использовать эту statутилиту, чтобы -fуказать, что вы ищете информацию о файловой системе.

Например:

$ stat -f -c %T .
ext2/ext3
$ stat -f -c %T /sys
sysfs
$ stat -f -c %T /proc
proc
$ if [[ $(stat -f -c %T /proc) == proc ]] ; then echo Good ; fi
Good

(См. страницу руководства для ознакомления с различными вариантами форматирования. Извините, у меня нет под рукой монтирования NFS.)

решение3

Я бы просто использовал инструмент по умолчанию mountpoint:

NAME
       mountpoint - see if a directory is a mountpoint

SYNOPSIS
       mountpoint [-d|-q] directory

Поскольку вы говорите конкретно о NFS, это означает, что у вас также есть доступ к showmount, за исключением того, что эта работа выполняется наоборот (с хоста вместо каталога):

NAME
       showmount - show mount information for an NFS server

SYNOPSIS
       showmount [ -adehv ] [ --all ] [ --directories ] [ --exports ] [ --help ] [ --version ] [ host ]

Связанный контент