Como determinar em que sistema de arquivos um diretório existe?

12

Eu tenho um compartilhamento NFS que é compartilhado entre duas outras máquinas. Recentemente, percebi que um dos servidores não está compartilhando o diretório e está mantendo os arquivos por si só. Existe uma maneira de ver se o compartilhamento NFS está montado no diretório em que eu acho que está?

Naftuli Kay
fonte
mount -lfunciona;)
Naftuli Kay 12/09

Respostas:

19

Talvez você esteja procurando

df .

Quando você está no diretório em que deseja saber o ponto de montagem?

Straphka
fonte
1
+1 se você adicionar mount -là sua resposta;)
Naftuli Kay
@TK Kocheran O comando mount é outra maneira de descobrir, mas você provavelmente deve fazer "mount -l | grep XXX" para filtrar um pouco a saída e ainda assim ter uma saída ambígua (se você tiver dirs com nomes semelhantes ) O comando df informará onde o diretório atual está montado e que tipo, para que não haja ambiguidade neste método. Mas o resultado deve ser o mesmo ...
Johan
Veja também essa discussão recente na lista de discussão do grupo austin que menciona casos de esquina onde pode não funcionar.
Stéphane Chazelas
8

A idéia do Straphka de usar o df funcionará bem se você adicionar alguns sinalizadores como o -T que mostra o tipo de sistema de arquivos (e talvez o -P para compatibilidade com posix). E ainda por cima, podemos usar o awk para filtrar a saída, para imprimir apenas a coluna de saída do tipo.

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

ou se você quiser conferir um diretório chamado smb / media / em sua casa.

df -PTh ~/smb/media/ | awk '{print $2}'
Johan
fonte
4

Você pode usar isto:

stat -f -c %T .

Ele produz nfs, ext2/ext3ou algo diferente.

guettli
fonte
3

Você pode usar o lsblkcomando também.

Além disso, se você quiser saber as coisas em detalhes:

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

Para sua pergunta mount -lé a resposta como outros disseram.

yguw
fonte
2

O comando

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

faz o truque.

Mark Luijendijk
fonte