Como criar um link simbólico ou flexível?

372

Estou instalando o p4v em /opt , mas /usr/bin está no meu caminho. É possível criar um link simbólico para p4v de /opt para /usr/bin , então eu posso digitar "p4v" já que /usr/bin está no meu caminho?

    
por coffee 08.08.2011 / 21:17

8 respostas

532

Veja man ln .

Para criar um symlink em /usr/bin/bar , que faz referência ao arquivo original /opt/foo , use:

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

Você precisaria aplicar o comando acima como raiz (ou seja, com sudo ).

    
por Michał Šrajer 08.08.2011 / 21:20
30

O erro é que você está escrevendo o comando errado. A maneira correta é

ln -s /<full>/<path>/<to>/<file> /usr/local/bin

link

    
por Pedro Arnoldo Machado Duran 03.04.2014 / 21:15
20

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
    
por dv3500ea 08.08.2011 / 21:23
4

Verifique o local do software por isso.

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

por exemplo

which skype

saída será essa.

/usr/bin/skype 

Para criar o link suave. por exemplo, você quer criar o link para skype na sua área de trabalho

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

Para mais informações sobre ln .

man ln

ou

ln --help
    
por Hafiz Shehbaz Ali 24.06.2015 / 21:41
1
ln -s -n ./TargetDirectory ./Nickname

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

    O comando
  • -s faz dele um link simbólico
  • -n torna possível criar um link simbólico de tipo de pasta
por Mohamad El Boudi 12.12.2017 / 00:32
0

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 partes em <> 's

    
por LucasY 01.10.2018 / 20:24
0

Se estiver dizendo target is not a folder , significa que há espaços nos nomes das pastas, por exemplo: New Folder tem 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
    
por Sam 09.11.2017 / 05:43
0

Descobri que é mais fácil ir até onde você deseja que o link esteja e, em seguida, criar o link usando sudo ln -s /path/to/source/file , em vez de fazer ln -s target source .

Então, no seu caso, eu faria cd /usr/bin then sudo ln -s /opt/bin/pv4 . O outro jeito não tem funcionado no meu caso.

    
por briankip 17.04.2018 / 19:06