ディレクトリが 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>(フラグは、ing とing-Pを容易にするためにきれいなフォーマットを無効にするために使用されます):tailawk

$ 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 ]

関連情報