11

パスがリモートファイルシステム(nfsなど)にあるのかローカルファイルシステムにあるのかを、シェルスクリプトまたはPerlでプログラム的に伝えるための手っ取り早い方法はありますか?または、これを行って/ etc / fstabを解析し、ファイルシステムタイプを確認する唯一の方法はありますか?

4

5 に答える 5

13

stat -f -c %T <filename>あなたがしたいことをするべきです。あなたも望むかもしれません-l

于 2008-11-17T19:12:22.553 に答える
2

「df-T」を使用してディレクトリのファイルシステムタイプを取得するか、-tオプションを使用してレポートを特定のタイプ(nfsなど)に制限できます。「ファイルシステムが処理されていません」と表示された場合は、1つではありません。あなたが探しているものの。

df -T $dir | tail -1 | awk '{print $2;}'
于 2008-11-17T19:02:24.633 に答える
2

ディレクトリで使用dfして、現在のディレクトリなど、それが存在するデバイスの情報のみを取得する場合:

df .

次に、出力を解析できます。

df . | tail -1 | awk '{print $1}'

デバイス名を取得します。

于 2008-11-17T20:15:48.043 に答える
1

私はsolaris7、8、9、10で以下をテストしましたが、信頼できるようです

/bin/df -g <filename> | tail -2 | head -1 | awk '{print $1}'

マウントポイントの「host:path」と一致させようとするのではなく、fsタイプを指定する必要があります。

于 2010-08-24T16:49:01.427 に答える
0

一部のシステムでは、NFSファイルのデバイス番号は負です。したがって、

print "remote" if (stat($filename))[0] < 0
于 2008-11-17T19:50:54.240 に答える