2013-02-13 5 views
3

Как определить тип файловой системы, на которой хранится файл? У меня может быть имя файла, или позже, только дескриптор.Получить тип файловой системы, хранящейся в файле

Я бы с удовольствием использовать сценарий на первый, но хотел бы также знать, как сделать это с из системных вызовов С.

ответ

10

В командной строки/сценарии, Вы можете использовать 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() возвращает информацию о смонтированной файловой системе. путь - это путь к любому файлу в смонтированной файловой системе, buf - указатель на структуру statfs.

Смежные вопросы