ファイルがPerlを使用してリモートファイルシステムにあるかどうかを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/296455

  •  08-07-2019
  •  | 
  •  

質問

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

役に立ちましたか?

解決

stat -f -c %T <filename>はあなたが望むことをすべきです。 -l

も必要かもしれません

他のヒント

<!> quot; df -T <!> quot;を使用できます。ディレクトリのファイルシステムタイプを取得するか、-tオプションを使用して特定のタイプ(nfsなど)にレポートを制限し、<!> quot; no file systems processed <!> quot;で戻ってきた場合、それは1つではありませんあなたが探しているものの。

df -T $dir | tail -1 | awk '{print $2;}'

ディレクトリでdfを使用して、ディレクトリ内にあるデバイスのみの情報を取得する場合、たとえば現在のディレクトリの場合:

df .

その後、出力を解析することができます。例:

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

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

私はsolaris7,8,9 <!> ampで以下をテストしました。 10そして信頼できるようです

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

<!> quot; host:path <!> quotに一致させるのではなく、fsタイプを指定する必要があります。マウントポイントで。

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

print "remote" if (stat($filename))[0] < 0
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top