Как определить, на какой файловой системе существует каталог?

12

У меня есть общий ресурс NFS, который используется на двух других машинах. Недавно я понял, что один из серверов не разделяет каталог и хранит файлы для себя. Есть ли способ узнать, смонтирован ли общий ресурс NFS в каталоге, в котором, я думаю, он находится?

Нафтули Кей
источник
mount -lработает;)
Нафтули Кей

Ответы:

19

Может быть, вы ищете

df .

Когда вы находитесь в каталоге, вы хотите знать точку монтирования?

Straphka
источник
1
+1, если вы добавите mount -lк своему ответу;)
Naftuli Kay
@TK Kocheran Команда mount - это еще один способ выяснить это, но тогда вам, вероятно, следует выполнить команду «mount -l | grep XXX», чтобы немного отфильтровать вывод, и все же вы можете получить неоднозначный вывод (если у вас есть каталоги с похожими именами). ). Команда df скажет вам, где монтируется текущий каталог и какой тип, поэтому в этом методе нет двусмысленности. Но результат должен быть таким же ...
Йохан
См. Также недавнее обсуждение списка рассылки Austin-Group, в котором упоминаются случаи, когда он может не работать.
Стефан
8

Идея Straphka по использованию df будет хорошо работать, если вы добавите несколько флагов, таких как -T, показывающий тип файловой системы (и, возможно, -P для совместимости с posix). И в довершение всего мы можем использовать awk для фильтрации вывода, поэтому мы печатаем только столбец вывода типа.

df -PTh . | awk '{print $2}'

или если вы хотите проверить dir под названием smb / media / в вашем homedir.

df -PTh ~/smb/media/ | awk '{print $2}'
Johan
источник
4

Вы можете использовать это:

stat -f -c %T .

Это выводит nfs, ext2/ext3или что-то другое.

guettli
источник
3

Вы также можете использовать lsblkкоманду.

Также, если вы хотите узнать подробности:

$ df -T (file system type)
$ df -h (Humana readable format)

На ваш вопрос mount -lответ, как говорили другие.

yguw
источник
2

Команда

stat <file-spec> --printf=%m

делает трюк.

Марк Луйенджик
источник