Me entregan una ruta de un directorio o un archivo.
¿Qué utilidad / script de shell me dará de manera confiable el UUID del sistema de archivos en el que se encuentra este directorio / archivo?
Por UUID del sistema de archivos me refiero a la UUID=...
entrada como se muestra por ej.blkid
Estoy usando Redhat Linux.
(alguien sugirió que debería preguntar esto aquí en unix.stackexchange.com, así que lo moví del stackexchange.com original)
linux
shell
block-device
uuid
linfan
fuente
fuente
blkid
.Respuestas:
Una opción es
stat
+findmnt
combo:Aquí
-n
deshabilita el encabezado e-o UUID
imprime solo el valor UUID. La opción-c '%m'
destat
está presente para generar solo el punto de montaje de la ruta dada.fuente
stat
:findmnt -no uuid -T "$path"
Puede usar df para encontrar el punto de montaje del archivo y luego aplicar el resultado a blkid al UUID. Debe ejecutar (al menos) blkid como raíz para que esto funcione:
fuente
-o export
, ya que imprime la salida del formularioUUID=...
.-o value
) o unaUUID="value"
expresión de tipo (-o export
). Elegí el valor.