Eu acho que você quer algo assim:
findmnt -T .
Ao usar a opção
Caminho -T, --target
se o caminho não for um arquivo ou diretório de ponto de montagem,
findmnt
verifica os elementos do caminho na ordem inversa para obter o ponto de montagem. Você pode imprimir apenas determinados campos via
-o, --output [list]
.
Veja
findmnt --help
a lista de campos disponíveis.
Como alternativa, você pode executar:
(until findmnt . ; do cd .. ; done)
O problema que você está enfrentando é que todos os caminhos são relativos a uma coisa ou outra, então você só precisa andar na árvore. Toda vez.
findmnt
é um membro do pacote util-linux e já existe há alguns anos. Até agora, independentemente da sua distribuição, ela já deve estar instalada na sua máquina Linux se você também tiver a mount
ferramenta.
man mount | grep findmnt -B1 -m1
For more robust and customizable output use
findmnt(8), especially in your scripts.
findmnt
imprimirá as informações de todas as montagens sem um argumento de ponto de montagem, e somente isso para seu argumento com um. A -D
é a opção emulardf
. Sem -D
sua saída, é semelhante ao mount
's - mas muito mais configurável. Tente findmnt --help
e veja por si mesmo.
Coloco em um subshell para que o diretório atual do shell atual não seja alterado.
Então:
mkdir -p /tmp/1/2/3/4/5/6 && cd $_
(until findmnt . ; do cd .. ; done && findmnt -D .) && pwd
RESULTADO
TARGET SOURCE FSTYPE OPTIONS
/tmp tmpfs tmpfs rw
SOURCE FSTYPE SIZE USED AVAIL USE% TARGET
tmpfs tmpfs 11.8G 839.7M 11G 7% /tmp
/tmp/1/2/3/4/5/6
Se você não tem a -D
opção disponível (não nas versões mais antigas do util-linux), então não precisa ter medo - é pouco mais do que uma opção de conveniência em qualquer caso. Observe os títulos das colunas que produz para cada chamada - você pode incluir ou excluir os títulos de cada chamada com a -o
opção utput. Posso obter a mesma saída que -D
pode fornecer como:
findmnt /tmp -o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET
RESULTADO
SOURCE FSTYPE SIZE USED AVAIL USE% TARGET
tmpfs tmpfs 11.8G 1.1G 10.6G 10% /tmp
stat
comando pode ser usado também. No entanto, não tenho certeza se a%m
opção que fornece o ponto de montagem é suportada na sua versão do sistema. Fiz o check-in no meu sistema e parecia não retornar o ponto de montagem.