Linux

Linux

ファイルがNFSマウントにあることを確認する簡単なテストはありますか? (またはより一般的には、ファイルはどのタイプのファイルシステムに存在しますか?)fstabと一致する見苦しいプレフィックスを想像しています...

答え1

LinuxのGNUはstat少なくとも:

stat -fc %T /path/to/the/file

nfsほとんどの一般的なファイルシステムで動作しますが、すべてではありません。

答え2

これは少しランダムですが、非常に汚いものではありません。

df -TP /path/to/your/file | tail -1 | awk '{print $2}'

ファイルシステム名にスペースが含まれると、競合が発生します。

答え3

私はCで答えを探していて、数年前のこの質問は最初のGoogleの結果として現れました。シェルスクリプトに焦点を当てていますが、私は探している他の人と私の結果を共有したいと思いました。

この問題と関連する質問について述べたように、移植可能な方法はありません。以下は、Cからファイル名(マウントポイントまたはマウントポイントの下の任意のファイルにすることができます)に基づいてファイルシステムタイプを取得するいくつかの移植不可能な方法です。

Linux

マンページの魔法単語の使用statfs(2)f_type比較(例NFS_SUPER_MAGIC:)

MacOS、FreeBSD、OpenBSD、NetBSD

statfs(2)[またはstatvfs(2)NetBSDでは]の後にf_fstypename文字列を使用してください。 ("nfs"NFSの場合に適用されます。)

他の *BSD および類似項目にこの内容がある可能性があります。上記は私がテストしたものです。

ソラリス

を使用してください。stat(2)Solarisにメンバーstruct statがありますst_fstype。 ("nfs"NFSケースに適用されます。/etc/dfs/fstypesリモートファイルシステムタイプの完全なリストを解析することを選択できます。)

関連情報