Eu posso imprimir o diretório atual usando pwd
, mas isso me dá o caminho que naveguei para chegar onde estou. Eu preciso saber em qual diretório atual do disco/partição está.
Por exemplo, se eu criar um link simbólico user@pc:~$ ln -s /media/HD1 hard_disk
e depois navegar ~/hard_disk
e executá pwd
-lo, ele imprimirá /home/user/hard_disk
.
Eu gostaria de obter o caminho real em que estou atualmente ou melhor apenas o sistema de arquivos real em que estou atualmente, que corresponde a um em df
.
pwd -P
lhe dará o diretório físico em que você está, ou seja, o nome do caminho do diretório de trabalho atual com os links simbólicos resolvidos.Usando
df .
lhe daria adf
saída para qualquer partição em que o diretório atual esteja residindo.Exemplo (em uma máquina OpenBSD):
Para analisar o ponto de montagem dessa saída, você pode usar algo como
Para analisar o dispositivo do sistema de arquivos usado, use
Acredito que alguns sistemas Linux também suportam
(onde
--target .
pode ser substituído por-T .
) ou, para uma saída mais concisa,(onde
--noheadings
pode ser substituído por-n
, e--output target
pode ser substituído por-o target
) para obter o ponto de montagem que contém o sistema de arquivos no qual o diretório atual está localizado.Use
--output source
para obter o nó do dispositivo montado.Como dito por Ignacio aqui , você pode usar
df -P file/goes/here | tail -1 | cut -d' ' -f 1
.