Mir wird ein Pfad eines Verzeichnisses oder einer Datei übergeben.
Welches Dienstprogramm / Shell-Skript gibt mir zuverlässig die UUID des Dateisystems, in dem sich dieses Verzeichnis / diese Datei befindet?
Mit UUID des Dateisystems meine ich den UUID=...
Eintrag, wie zblkid
Ich benutze Redhat Linux.
(Jemand schlug vor, dies hier unter unix.stackexchange.com zu erfragen, also habe ich es vom ursprünglichen stackexchange.com verschoben.)
linux
shell
block-device
uuid
Linfan
quelle
quelle
blkid
.Antworten:
Eine Option ist
stat
+findmnt
Combo:Hier wird der
-n
Header deaktiviert und-o UUID
nur der UUID-Wert gedruckt. Die Option-c '%m'
vonstat
ist vorhanden, um nur den Mountpunkt des angegebenen Pfads auszugeben.quelle
stat
:findmnt -no uuid -T "$path"
Sie können df verwenden, um den Einhängepunkt der Datei zu ermitteln, und dann das Ergebnis auf blkid auf die UUID anwenden. Sie müssen (mindestens) blkid als root ausführen, damit dies funktioniert:
quelle
-o export
, da dadurch die Ausgabe des Formulars gedruckt wirdUUID=...
.-o value
) oder ein TypausdruckUUID="value"
(-o export
). Ich habe Wert gewählt.