ファイルが保存されているファイルシステムのタイプを特定するにはどうすればよいですか? 私はファイル名を持っているかもしれませんし、後で記述子だけを持っているかもしれません。
最初は喜んでスクリプトを使用しますが、C のシステムコールでそれを行う方法も知りたいです。
コマンドライン/スクリプトでは、次を使用できますstat
。
$ stat -f -c "%T" someFileOnExt2Ext3
ext2/ext3
$ stat -f -c "%T" someFileOnNFS
nfs
これは最終的にstatfs(2)システムコールにつながります:
int statfs(const char *path, struct statfs *buf);
関数 statfs() は、マウントされたファイル システムに関する情報を返します。path は、マウントされたファイル システム内の任意のファイルのパス名です。buf は、statfs 構造体へのポインターです。