Fazer ln -fs ./source/*
no diretório de destino não funciona
Isto mostra:
./source/file1 is not a directory
Responder1
De man ln
:
SINOPSE
ln [OPTION]... [-T] TARGET LINK_NAME (1st form) ln [OPTION]... TARGET (2nd form) ln [OPTION]... TARGET... DIRECTORY (3rd form) ln [OPTION]... -t DIRECTORY TARGET... (4th form)
DESCRIÇÃO
No 1º formulário, crie um link para TARGET com o nome LINK_NAME. Na 2ª forma, crie um link para TARGET no diretório atual. Nas 3ª e 4ª formas, crie links para cada TARGET no DIRETÓRIO. Crie links físicos por padrão, links simbólicos com --symbolic.
Lendo com atenção, você verá que (assumindo que a pasta de origem contém mais de um arquivo) você usou a 3ª forma. Como você não especificou um diretório, o último nome de arquivo é interpretado como diretório.
Se você estiver dentro do diretório onde deseja criar os links simbólicos, você pode simplesmente adicionar .
(diretório atual) no final do comando:
ln -fs ./source/* .
Responder2
Eu queria/precisava fazer alguma coisa e o @danzel deu a melhor resposta. Aqui está o que eu precisava: criar um símbolo dentro da pasta de plugins do WordPress para outra pasta dentro da raiz da instalação do WordPress.
- navegue até a pasta
- certifique-se de que estou na pasta certa
- liste todos os itens da pasta
- crie o link simbólico
Aqui estão os comandos:
$ cd wp-content/plugins
$ pwd
$ ls -al
$ ln -s ../../my-folder-with-subfolders/subfolder-name/* .
$ ln -s ../../my-folder-with-subfolders/another-subfolder/* .