Wie kann ich feststellen, ob sich ein Verzeichnis auf einem NFS-gemounteten Laufwerk befindet?

Wie kann ich feststellen, ob sich ein Verzeichnis auf einem NFS-gemounteten Laufwerk befindet?

Wie kann ich feststellen, ob ein bestimmtes Verzeichnis auf einer Linux-Maschine von einem NFS-gemounteten Laufwerk stammt oder nicht?

Antwort1

Sie könnten verwenden df -t nfs <directory>, was eine Ausgabe wie diese erzeugt

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

wenn das Verzeichnis zum NFS-Mount gehört und sonst nichts:

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

Bearbeiten: einfachere Möglichkeit: df -T <directory>(Flag -Pwird verwendet, um die hübsche Formatierung zu deaktivieren und so taildas Ing und awkIng zu erleichtern):

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

Antwort2

statSie können das Dienstprogramm verwenden, um -fanzugeben, dass Sie nach Informationen zum Dateisystem suchen.

Zum Beispiel:

$ 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

(Informationen zu den verschiedenen Formatierungsoptionen finden Sie auf der Manpage. Leider habe ich gerade keine NFS-Einbindung zur Hand.)

Antwort3

Ich würde einfach das Standardtool verwenden mountpoint:

NAME
       mountpoint - see if a directory is a mountpoint

SYNOPSIS
       mountpoint [-d|-q] directory

Da Sie speziell über sprechen NFS, bedeutet dies, dass Sie auch Zugriff auf haben showmount, außer dass dies andersherum funktioniert (von einem Host statt einem Verzeichnis):

NAME
       showmount - show mount information for an NFS server

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

verwandte Informationen