경로가 지정된 파일 시스템의 UUID를 얻는 방법은 무엇입니까?

경로가 지정된 파일 시스템의 UUID를 얻는 방법은 무엇입니까?

디렉터리나 파일에 대한 경로를 받습니다.

이 디렉터리/파일이 있는 파일 시스템의 UUID를 안정적으로 제공할 수 있는 유틸리티/셸 스크립트는 무엇입니까?

파일 시스템의 UUID는 UUID=...다음과 같은 항목을 의미합니다.blkid

저는 레드햇 리눅스를 사용하고 있습니다.

(누군가 이 질문을 unix.stackexchange.com에 물어봐야 한다고 제안해서 원래 stackexchange.com에서 옮겼습니다.)

답변1

한 가지 옵션은 stat+ findmnt조합입니다.

findmnt -n -o UUID $(stat -c '%m' "$path")

여기서 -n헤더는 비활성화되고 -o UUIDUUID 값만 인쇄됩니다. 특정 경로에 대한 마운트 지점만 출력하는 -c '%m'옵션이 있습니다 .stat

답변2

df를 사용하여 파일의 마운트 지점을 찾은 다음 blkid의 결과를 UUID에 적용할 수 있습니다. 이것이 작동하려면 (적어도) blkid를 루트로 실행해야 합니다.

FILE_OR_DIR="$PWD"
blkid -s UUID -o value $( df "$FILE_OR_DIR" )

관련 정보