Você precisa especificar um caminho absoluto na fonte: no seu caso, seria:
ln -s $PWD/* ../destination/
Ao contrário de um link físico, em que a entrada de diretório criada faz referência direta ao mesmo arquivo de origem, um link simbólico contém o texto da referência do arquivo original. De fato, o arquivo de origem não precisa existir quando um link simbólico é criado, embora obviamente o uso de *
garanta que apenas os arquivos de origem existentes sejam usados.
Na verdade, é um pouco mais complicado do que isso: se você especificar um caminho absoluto no link, referenciar o link funciona como se você tivesse especificado o arquivo original; mas se você especificar um caminho relativo, ele será adicionado ao diretório onde o link reside. Então, uma alternativa que você poderia usar do diretório target
é:
cd ../destination/; ln -s ../target/* .
Isso teria o mesmo efeito de um caminho absoluto, mas teria uma distinção: se toda a árvore de diretórios fosse copiada ou movida para outro local (por exemplo, em algum diretório de um usuário diferente), os links referenciariam os arquivos em sua nova pasta. localização. A escolha de links absolutos ou relativos dependerá, portanto, se você deseja copiar ou mover os arquivos de origem junto com os links: se os arquivos de origem permanecerem sempre no mesmo local, use links absolutos.