Was ist der beste Weg, um Dateisysteminformationen zu einer Datei herauszufinden?
Zum Beispiel, wenn ich eine Datei habe
/media/xyz/path/to/file.ext
Und /etc/fstab
enthält
//server1/Share1 /media/xyz cifs option1=value1,...
Wie kann ich feststellen, dass sich die Datei auf einer Samba-Freigabe befindet, dass sie den lokalen Pfad hat /path/to/file.ext
und mit welchen Optionen das Dateisystem bereitgestellt wurde?
Analysiert die Ausgabe mount
einer tragbaren Lösung? Oder analysieren findmnt
? Gibt es eine POSIX-konforme Möglichkeit, dies zu erreichen?
df /path/to/file
sollte die Partition oder Mount anzeigen./proc/mounts
. Gibt es eine BSD / OSX-kompatible Möglichkeit, dies zu erreichen?mount
usw. gefragt, um das Dateisystem und die Optionen usw. zu erhalten. Ich bin mir immer noch nicht sicher, wie ich diese Informationen am besten in * BSD und OSX finden kann. Ich hatte keine Zeit, an der Bibliothek zu arbeiten, die dies erfordert, werde aber Feedback geben, sobald ich dies tue. Nach allem, was ich gesehen habe,mount -P
scheint es unter Linux / BSD ziemlich zuverlässig zu sein.Antworten:
stat (1) ist eine tragbare Methode, um einige dieser Informationen herauszufinden, z.
Alles andere ist sehr betriebssystemspezifisch. Auf neueren Linux-Systemen können Sie es problemlos
findmnt --output
in einem Skript verwenden.quelle
stat
ist auch os-spezifisch.Wenn ich Ihre Bedürfnisse richtig verstanden und Teile aus früheren Antworten kombiniert habe, könnten Sie Folgendes benötigen. im Skript definieren (zum Beispiel in Ihrer .bashrc) -
und dann können Sie es nach Bedarf ausführen
quelle
findmnt
braucht nicht all das Zeug, es kann das alles alleine machen