特定のファイルを含むファイルシステムのマウントポイントを取得する方法

特定のファイルを含むファイルシステムのマウントポイントを取得する方法

私は与えられたファイルを含むファイルシステムのマウントポイントを見つけるための簡単な方法を探しています。以下の解決策よりもシンプルでシンプルなものはありますか?

df -h FILE |tail -1 | awk -F% '{print $NF}' | tr -d ' '

エマルジョンディスクマウントの場所を確認する命令がありますか?「ディスク上の任意のファイルではなく、現在のディスクのデバイスノードを入力として使用します...

ベストアンサー1

statGNU/Linux に GNU coreutils 8.6 以降がある場合は、次のことができます。

stat -c %m -- "$file"

それ以外の場合:

mount_point_of() {
  f=$(readlink -e -- "$1") &&
    until mountpoint -q -- "$f"; do
      f=${f%/*}; f=${f:-/}
    done &&
    printf '%s\n' "$f"
}

あなたのアプローチは有効ですが、マウントポイントにスペース、%、改行、または他の印刷できない文字が含まれていないと仮定すると、df最新バージョンのGNU(8.21以降)を使用して少し単純化できます。

df --output=target FILE | tail -n +2

おすすめ記事