Как я могу определить, является ли данный каталог на компьютере с Linux подключенным диском NFS или нет?
3 ответа
Вы можете использовать утилиту 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.)
Вы можете использовать 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
Edit: более простой способ: df -T <directory>
(флаг -P
используется для отключения довольно форматирования для облегчения tail
Ing и awk
Инг):
$ df /home/aland/ -TP | tail -n -1 | awk '{print $2}'
nfs
Я бы просто использовал 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 ]