Comando para obter o caminho para o ponto de montagem da partição/unidade atual?

Comando para obter o caminho para o ponto de montagem da partição/unidade atual?

Existe um comando alternativo que faz a mesma coisa que findmnt -T . -o TARGET |tail -n 1?

Exemplo: se meu diretório de trabalho atual for /media/username/HDD/subdir1/subdir2, esse comando gerará /media/username/HDD/.

No Windows, o caminho para o diretório mais alto da unidade/partição atual é \(também /funciona emcmd), porque o Windows funciona com letras de unidade em vez de"tudo é um arquivo".

O Unix funciona de forma mais unificada e modular, mas como encontrar o ponto de montagem de uma partição? Se não houver uma solução mais curta que findmnt -T . -o TARGET |tail -n 1, não há problema. Eu só queria saber se existe uma maneira diferente.

Responder1

Olhando, man findmntvejo uma série de sugestões que parecem fazer o que você deseja ao encontrar o ponto de montagem de um sistema de arquivos:

findmnt --first-only --noheadings --output TARGET --target "$PWD"
/home

Ou com menos legibilidade:

findmnt -fno TARGET -T "$PWD"
/home

Responder2

Se você quiser apenas encontrá-lo por si mesmo, não para uso posterior em uma variável. você não encontrará um caminho mais curto do que df .:

$ df . 
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda6      343650580 232263752  93860660  72% /home

Isso tem detalhes extras, é claro, então não pode ser usado apenas para salvar o nome do dispositivo diretamente em uma variável. No entanto, é muito fácil analisar:

$ df . | grep -Po '^/\S+'
/dev/sda6
$ df . | awk '/^\//{print $1}'
/dev/sda6

Mas se você realmente deseja um único comando para imprimi-lo, então@roaima'sfindmntserá o melhor.

informação relacionada