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 -P
wird verwendet, um die hübsche Formatierung zu deaktivieren und so tail
das Ing und awk
Ing zu erleichtern):
$ df /home/aland/ -TP | tail -n -1 | awk '{print $2}'
nfs
Antwort2
stat
Sie können das Dienstprogramm verwenden, um -f
anzugeben, 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 ]