Auf welchem Dateisystem ist Verzeichnis?

30/09/2008 - 09:14 von Michael Schmarck | Report spam
Hallo!

Wie kann eigentlich *sicher3 (und möglichst "einfach") herausgefunden
werden, auf welchem Dateisystem sich ein gegebenes Verzeichnis befindet?

Zur Zeit verwende ich dafür "df". Z.B. so:

$ cd $dir
$ df .

Problem: U.U. kann der akt. non-root User nicht nach $dir gehen.
Z.B. bei MySQL klappt das nicht, um mal ein bekanntes Beispiel zu nennen:

$ ls -lad `mysql --user=SuperUser --batch -s -e "show variables like 'datadir';" --password | cut -f 2`
drwx 8 mysql mysql 64 Sep 26 07:48 /data/mysql/

Als "normaler" User (also als non-root und non-mysql) ausgeführt, wird
das "cd" fehlschlagen. Die Rechte anzupassen ist keine Lösung, da mich
eine allgemeingültige Lösung interessiert.

Und einfach nur die Ausgabe von mount bzw. df zu "parsen" ist auch nicht
so zielführend, da es ja durchaus sein könnte, dass ein "Verzeichnis"
in Wahrheit ein Symlink auf das richtige Verzeichnis ist. Z.B.:

$ ls -la /opt/csw/mysql4/var
lrwxrwxrwx 1 root root 11 Sep 19 13:23 /opt/csw/mysql4/var -> /data/mysql

Wenn ich also wissen wollte, auf welchem Dateisystem sich
/opt/csw/mysql4/var befindet, dann ist die richtige Antwort davon
abhàngig, wie man die Frage versteht :) /opt/csw/mysql4/var ist
natürlich da, wo /opt/csw/mysql4 ist. Aber falls einen interessiert
wo /opt/csw/mysql4/var/. ist, dann helfe ich mir mit dem o.g. "cd $dir
&& df ." "workaround".

Wie macht ihr das? Wie findet ihr heraus, auf welchem Dateisystem sich
der Inhalt eines Verzeichnisses befindet?

Michael
 

Lesen sie die antworten

#1 helmut
30/09/2008 - 09:35 | Warnen spam
Hallo, Michael,

Du meintest am 30.09.08:

Wie kann eigentlich *sicher3 (und möglichst "einfach") herausgefunden
werden, auf welchem Dateisystem sich ein gegebenes Verzeichnis
befindet?



df -T /Pfad/zu/Verzeichnis

Hilft aber nicht bei symbolischen Links. Da wàre "test -L /Pfad/zu/
Verzeichnis" besser.

Viele Gruesse
Helmut

"Ubuntu" - an African word, meaning "Slackware is too hard for me".

Ähnliche fragen