Como criar um link simbólico ou programável?


Respostas:


666

Veja man ln.

Para criar um link simbólico no /usr/bin/barqual faz referência ao arquivo original /opt/foo, use:

ln -s /opt/foo /usr/bin/bar

Você precisaria aplicar o comando acima como root (ie com sudo).


Estou usando: sudo ln –s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/000-redminerecebendo erro:ln: target '/etc/apache2/sites-enabled/000-redmine' is not a directory
RAJ ...

1
A documentação do Ubuntu diz "Cria links físicos por padrão, links simbólicos com --symbolic". A solução acima criará um link simbólico conforme solicitado pelo OP?
Tanay

4
Embora César quisesse colocar seus arquivos no / opt e / usr / bin para ter o link simbólico, não o contrário.
contratempo

4
@mishap está certo no que me diz respeito. É o contrário.
Daniel Szmulewicz

2
@kevinmicke após a sua explicação finalmente percebeu que a explicação da resposta foi afirmado na ordem inversa a partir do comando, fazendo meu cérebro (e de outros) lê-lo para trás
Andrew


21

Se o executável 'p4v' estiver em / opt / bin / p4v, você pode simplesmente executar:

sudo ln -s /opt/bin/p4v /usr/bin/p4v
sudo chmod ugo+x /usr/bin/p4v

Seria melhor adicionar / opt / bin (ou onde quer que o executável esteja) ao seu caminho:

echo "export PATH=\$PATH:/opt/bin" >> ~/.profile
reset

~/.profileseria melhor para a configuração $PATH.
Lekensteyn 8/08

você pode editar /etc/environmentpara modificar o sistema PATH em todo o sistema.
Michał Šrajer 8/08

4

Verifique a localização do software por isso.

which application-name #replace for the application you are looking for

por exemplo

which skype

saída será esta.

/usr/bin/skype 

Para criar o link virtual. por exemplo, você deseja criar o link virtual para skypesua área de trabalho

ln -s /usr/bin/skype ~/Desktop/

Para mais informações sobre ln.

man ln

ou

ln --help

2
ln -s -n ./TargetDirectory ./Nickname

Observe que isso funciona se os dois nós estiverem abaixo de você na mesma árvore. Você pode usar notação relativa

  • O comando -s o torna um link simbólico
  • -n possibilita a criação de um link simbólico do tipo pasta

Bem-vindo ao askubuntu.com. Nesse caso, a $indicação de um prompt de linha de comando é uma opção de estilo e provavelmente não será um problema. No entanto, lembre-se de que incluir coisas em um bloco de código que não seja o código e sua saída pode causar confusão.
11187 J. Starnes

1

Este modelo foi mais útil para mim do que as respostas acima. Provavelmente não é mais correto, apenas menos ofuscado:

ln -s <path/to/real/file-or-folder> <symlink path>

Basta substituir as peças em <>'s


0

Se estiver dizendo target is not a folder, significa que há espaços nos nomes das pastas, por exemplo: New Foldertem um espaço

Você precisa editar o caminho e adicionar uma barra invertida \após cada espaço nos caminhos

por exemplo:

ln -s /opt/bin /usr/var/New\ Folder

3
Esta não é uma resposta para a pergunta dos POs. Aguarde até que você tenha reputação suficiente para adicionar comentários.
DerHugo 9/11

0

Eu descobri que é mais fácil ir para onde você deseja que o link esteja e depois criar o link usando sudo ln -s /path/to/source/file, do que fazendo ln -s target source.

Assim, no seu caso eu faria cd /usr/binem seguida sudo ln -s /opt/bin/pv4. A outra maneira não está funcionando no meu caso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.