Atalho para retornar o caminho real do symlink?

2

Existe algum atalho para retornar o caminho real do symlink?

como: criei um link simbólico em casa

$ cd
$ ln -s /home/usr/workspace/helloworld/datadir datadir
$ ls -l

lrwxrwxrwx  1 usr usr    10 Mar  5 16:57 datadir -> /home/usr/workspace/helloworld/datadir

Agora,

$ cd datadir
$ pwd
/home/usr/datadir

Aqui está alguma maneira de voltar ao diretório /home/usr/workspace/helloworld/ sem digitar o caminho inteiro

$ cd ../ 

Isso me leva de volta ao diretório inicial!

    
por Laxmikant Ratnaparkhi 05.03.2014 / 12:36

1 resposta

2

Experimente este comando

readlink -f $(pwd)

readlink lê o conteúdo de um symlink e readlink -f segue links simbólicos para links simbólicos para links simbólicos, etc., até encontrar algo que não seja um link simbólico.

Então,

cd $(readlink -f $(pwd))

OR

cd $(readlink -f .)

Os comandos acima permitem que você entre no diretório original.

Exemplo,

~/Desktop$ ls -l
lrwxrwxrwx 1 avinash avinash        22 Mar  4 14:11 Pictures -> /home/avinash/Pictures

~/Desktop$ cd Pictures
~/Desktop/Pictures$ pwd
/home/avinash/Desktop/Pictures

~/Desktop/Pictures$ readlink -f $(pwd)
/home/avinash/Pictures

~/Desktop/Pictures$ cd $(readlink -f $(pwd))
~/Pictures$ 
    
por Avinash Raj 05.03.2014 / 12:46