Como determinar se um diretório está em uma unidade montada em NFS?

3

Como posso determinar se um determinado diretório em uma máquina Linux é de uma unidade montada em NFS ou não?

    
por WilliamKF 08.05.2012 / 19:02

3 respostas

6

Você pode usar o utilitário stat com -f para informar que está procurando informações sobre o sistema de arquivos.

Por exemplo:

$ 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

(Veja a man page para as diferentes opções de formatação, e desculpe não ter uma montagem NFS à mão.)

    
por 08.05.2012 / 19:21
5

Você pode usar df -t nfs <directory> , que produzirá resultados como

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

se o diretório se encontrar no NFS, e nada do contrário:

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

Editar: maneira mais simples: df -T <directory> (flag -P é usado para desabilitar a formatação para facilitar tail ing e awk ing):

$ df /home/aland/ -TP  | tail -n -1 | awk '{print $2}'
nfs
    
por 08.05.2012 / 19:12
1

Eu usaria a ferramenta padrão mountpoint :

NAME
       mountpoint - see if a directory is a mountpoint

SYNOPSIS
       mountpoint [-d|-q] directory

Como você está falando especificamente sobre NFS , isso significa que você também tem acesso a showmount , exceto este trabalho ao contrário (de um host em vez de um diretório):

NAME
       showmount - show mount information for an NFS server

SYNOPSIS
       showmount [ -adehv ] [ --all ] [ --directories ] [ --exports ] [ --help ] [ --version ] [ host ]
    
por 08.01.2016 / 11:46

Tags