Befehl zum Abrufen des Pfads zum Einhängepunkt der aktuellen Partition/des aktuellen Laufwerks?

Befehl zum Abrufen des Pfads zum Einhängepunkt der aktuellen Partition/des aktuellen Laufwerks?

Gibt es einen alternativen Befehl, der dasselbe macht wie findmnt -T . -o TARGET |tail -n 1?

Beispiel: Wenn mein aktuelles Arbeitsverzeichnis ist /media/username/HDD/subdir1/subdir2, würde dieser Befehl ausgeben /media/username/HDD/.

Unter Windows lautet der Pfad zum obersten Verzeichnis des aktuellen Laufwerks/der aktuellen Partition \( /funktioniert auch incmd), da Windows mit Laufwerksbuchstaben arbeitet statt„alles ist eine Datei“.

Unix arbeitet einheitlicher und modularer, aber wie findet man den Einhängepunkt einer Partition? Wenn es keine kürzere Lösung als gibt findmnt -T . -o TARGET |tail -n 1, ist das kein Problem. Ich wollte nur wissen, ob es auch anders geht.

Antwort1

Wenn ich mir das ansehe, man findmntsehe ich eine Reihe von Vorschlägen, die scheinbar das gewünschte Ergebnis beim Suchen des Einhängepunkts für ein Dateisystem erzielen:

findmnt --first-only --noheadings --output TARGET --target "$PWD"
/home

Oder mit weniger Lesbarkeit:

findmnt -fno TARGET -T "$PWD"
/home

Antwort2

Wenn Sie es nur für sich selbst herausfinden möchten und nicht zur späteren Verwendung in einer Variablen, werden Sie keinen kürzeren Weg finden als df .:

$ df . 
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda6      343650580 232263752  93860660  72% /home

Das enthält natürlich zusätzliche Details und kann daher nicht verwendet werden, um den Gerätenamen direkt in einer Variable zu speichern. Es ist jedoch sehr einfach zu analysieren:

$ df . | grep -Po '^/\S+'
/dev/sda6
$ df . | awk '/^\//{print $1}'
/dev/sda6

Wenn Sie aber wirklich einen einzigen Befehl zum Drucken benötigen, dann@roaimasfindmntwird das beste sein.

verwandte Informationen