Recebi um caminho de um diretório ou arquivo.
Qual script de utilitário / shell fornecerá de forma confiável o UUID do sistema de arquivos no qual esse diretório / arquivo está localizado?
Por UUID do sistema de arquivos, quero dizer a UUID=...
entrada, como mostrado porblkid
Estou usando o Redhat Linux.
(alguém sugeriu que eu deveria perguntar isso aqui em unix.stackexchange.com, então mudei do original stackexchange.com)
linux
shell
block-device
uuid
linfan
fonte
fonte
blkid
.Respostas:
Uma opção é
stat
+findmnt
combo:Aqui
-n
desativa o cabeçalho e-o UUID
imprime apenas o valor UUID. A opção-c '%m'
ofstat
está presente para gerar apenas o ponto de montagem do caminho especificado.fonte
stat
:findmnt -no uuid -T "$path"
Você pode usar o df para localizar o ponto de montagem do arquivo e aplicar o resultado ao blkid no UUID. Você precisa executar (pelo menos) blkid como root para que isso funcione:
fonte
-o export
, uma vez que imprime a saída do formulárioUUID=...
.-o value
) ou umaUUID="value"
expressão de tipo (-o export
). Eu escolhi valor.