Wie kann man feststellen, auf welchem ​​Dateisystem ein Verzeichnis existiert?

12

Ich habe eine NFS-Freigabe, die von ungefähr zwei anderen Computern gemeinsam genutzt wird. Ich habe kürzlich festgestellt, dass einer der Server das Verzeichnis nicht freigibt und Dateien für sich behält. Gibt es eine Möglichkeit, um festzustellen, ob die NFS-Freigabe in dem Verzeichnis bereitgestellt ist, in dem sie sich befindet?

Naftuli Kay
quelle
mount -lfunktioniert;)
Naftuli Kay

Antworten:

19

Vielleicht suchen Sie

df .

Wenn Sie sich in dem Verzeichnis befinden, dessen Mountpunkt Sie kennen möchten?

Straphka
quelle
1
+1, wenn Sie mount -lzu Ihrer Antwort hinzufügen ;)
Naftuli Kay
@TK Kocheran Der Befehl mount ist eine andere Möglichkeit, dies herauszufinden. Dann sollten Sie jedoch wahrscheinlich "mount -l | grep XXX" ausführen, damit Sie die Ausgabe ein wenig filtern und dennoch möglicherweise eine mehrdeutige Ausgabe haben (wenn Sie Verzeichnisse mit ähnlichen Namen haben ). Der Befehl df gibt an, wo das aktuelle Verzeichnis bereitgestellt ist und welchen Typ, sodass diese Methode keine Mehrdeutigkeit aufweist. Aber das Ergebnis sollte das gleiche sein ...
Johan
Siehe auch die jüngste Diskussion auf der Mailingliste der Austin-Gruppe, in der Eckfälle erwähnt werden, in denen dies möglicherweise nicht funktioniert.
Stéphane Chazelas
8

Die Straphka-Idee, df zu verwenden, funktioniert gut, wenn Sie einige Flags wie das -T hinzufügen, das den Dateisystemtyp anzeigt (und möglicherweise das -P für die Posix-Kompatibilität). Und um das Ganze abzurunden, können wir awk verwenden, um die Ausgabe zu filtern, sodass wir nur die Typausgabespalte drucken.

df -PTh . | awk '{print $2}'

oder wenn Sie ein Verzeichnis namens smb / media / in Ihrem Homedir überprüfen möchten.

df -PTh ~/smb/media/ | awk '{print $2}'
Johan
quelle
4

Sie können dies verwenden:

stat -f -c %T .

Es gibt nfs, ext2/ext3oder etwas anderes.

guettli
quelle
3

Sie können auch den lsblkBefehl verwenden.

Auch wenn Sie die Dinge im Detail wissen wollen:

$ df -T (file system type)
$ df -h (Humana readable format)

Für Ihre Frage mount -list die Antwort, wie andere gesagt haben.

yguw
quelle
2

Der Befehl

stat <file-spec> --printf=%m

macht den Trick.

Mark Luijendijk
quelle