我收到一个目录或文件的路径。
哪个实用程序/shell 脚本能够可靠地提供该目录/文件所在文件系统的 UUID?
我所说的文件系统的 UUID 是指UUID=...
如下所示的条目blkid
我使用的是红帽Linux。
(有人建议我应该在 unix.stackexchange.com 上问这个问题,所以我把它从原来的 stackexchange.com 移走了)
答案1
一种选择是stat
+findmnt
组合:
findmnt -n -o UUID $(stat -c '%m' "$path")
这里-n
禁用标头,并-o UUID
仅打印 UUID 值。-c '%m'
存在选项stat
仅输出给定路径的安装点。
答案2
您可以使用 df 查找文件的挂载点,然后将结果应用到 blkid 到 UUID。您需要(至少)以 root 身份运行 blkid 才能正常工作:
FILE_OR_DIR="$PWD"
blkid -s UUID -o value $( df "$FILE_OR_DIR" )