Como criar um link (ln -s) com um caminho absoluto?

1

Portanto, usar ln -s para criar um link criará um link relativo ( link->../file ) ou um link absoluto ( link->/home/user/dir1/file ).

Mas às vezes não quero digitar todo o caminho absoluto, mas ainda preciso de um link absoluto. Talvez eu queira vincular link->../dir2/file , mas eu realmente quero link->/home/user/dir/another dir/a third dir/dir6/dir2/long named dir/dir/dir2/file . Isso é muita digitação.

Qual é a maneira mais fácil de fazer isso, então?

ln -s "/home/user/dir/another dir/a third dir/dir6/dir2/long named dir/dir/dir2/file" link

Obrigado, meus dedos apreciam isso.

    
por Peter Kay 27.07.2018 / 16:55

1 resposta

3

Ok, encontrei uma maneira de fazer isso funcionar com facilidade:

ln -s 'realpath ../dir2/file' link       #not perfect

Não é perfeito - $( ... ) é preferível a '...' para substituição de comando, e há um problema com nomes de arquivos com espaços - a "double quotes" corrige isso enquanto permite que a substituição de comando continue. Então, aqui está uma resposta atualizada:

ln -s "$(realpath ../dir2/file)" link

Então, se eu quiser que o nome do arquivo seja o mesmo,

ln -s "$(realpath ../dir2/file)" .
    
por 27.07.2018 / 16:58

Tags