特定のファイルがどのブロックデバイス(/dev/sd*またはUUID)にあるかを確認する方法[重複]

特定のファイルがどのブロックデバイス(/dev/sd*またはUUID)にあるかを確認する方法[重複]

私のファイルを見つけるには、他のアプリケーションの文字列を生成する必要があります。ファイルに動的にアクセスする方法を知る必要があります。

customfile=/dev/sda1:/images/myfs.squashfs

私ができると仮定しますstat some/file/here.txt。ブロックデバイスとそのデバイスの絶対パスを決定するためにどのコマンドを使用できますか?

here.txtまた、デバイスの絶対パスをどのように決定しますか?

ベストアンサー1

ファイルがあるデバイスを見つけることができます。df。オプションを使用して出力列を選択します--output。出力にはdfファイルシステムのデバイスが含まれます。使用する場合左心室容積ルクスMdledなど、源泉列には論理デバイスへのパスが含まれます。

df --output=source $path |tail -1

~からターゲットこの列でデバイスのマウントポイントを確認できます。

df --output=target $path |tail -1

マウントされたデバイスのルートに対する相対パスを取得するには、パスの先頭からマウントポイントを削除します。シェルを使うパラメータ拡張:

echo ${path#$(df $path --output=target |tail -1)}

おすすめ記事