web-dev-qa-db-ja.com

パスを指定してファイルシステムのUUIDを取得するにはどうすればよいですか?

ディレクトリまたはファイルのパスが渡されます。

このディレクトリ/ファイルが配置されているファイルシステムのUUIDを確実に提供するユーティリティ/シェルスクリプトはどれですか?

ファイルシステムのUUIDとは、UUID=...エントリ。 blkid

私はRedhatLinuxを使用しています。

(誰かがunix.stackexchange.comでこれを尋ねるべきだと提案したので、元のstackexchange.comから移動しました)

9
linfan

1つのオプションはstat + findmntコンボです。

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

ここに -nヘッダーを無効にし、-o UUIDUUID値のみを出力します。オプション-c '%m' of statは、指定されたパスのマウントポイントのみを出力するために存在します。

8
jimmij

Dfを使用してファイルのマウントポイントを見つけ、その結果をblkidにUUIDに適用できます。これを機能させるには、(少なくとも)blkidをrootとして実行する必要があります。

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