ln --relative

A partir do coreutils 8.16 está disponível a opção --relative (-r) do ln, que cria links, como o nome sugere, relativos ao invés de absolutos. Muito útil!

$ mkdir aaa
$ mkdir bbb
$ touch aaa/arquivo_a
$ ln -sr aaa/arquivo_a bbb/link_para_a
$ ls -l bbb/link_para_a
lrwxrwxrwx. 1 marcos marcos 15 Jan 21 19:11 bbb/link_para_a -> ../aaa/arquivo_a
$ file bbb/link_para_a
bbb/link_para_a: symbolic link to `../aaa/arquivo_a'
$ readlink -f bbb/link_para_a
/home/marcos/aaa/arquivo_a

Sem --relative:

$ ln -s aaa/arquivo_a bbb/link_para_a
$ ls -l bbb/link_para_a
lrwxrwxrwx. 1 marcos marcos 12 Jan 21 19:17 bbb/link_para_a -> aaa/arquivo_a
$ file bbb/link_para_a
bbb/link_para_a: broken symbolic link to `aaa/arquivo_a'
$ readlink -f bbb/link_para_a
(sem resultado, pois o link está quebrado)

Comentários