Como criar um link para um diretório [fechado]

322

Como criar um link xxxpara /home/jake/doc/test/2000/something/?

Suponha que o arquivo xxxseja criado em /home/jakee você esteja atualmente /home/jake. Quando você faz cd xxx, você vai diretamente para /home/jake/doc/test/2000/something/.

ler ler
fonte
3
Por que essa pergunta é off-topic?
Eyal Levin
pode ser considerada uma pergunta que pertence a unix.stackexchange.com
jcollum 16/06

Respostas:

590

Link simbólico ou flexível (arquivos ou diretórios, mais flexível e auto-documentável)

#     Source                             Link
ln -s /home/jake/doc/test/2000/something /home/jake/xxx

Link físico (somente arquivos, menos flexível e não auto-documentável)

#   Source                             Link
ln /home/jake/doc/test/2000/something /home/jake/xxx

Mais informações: man ln


/home/jake/xxxé como um novo diretório. Para evitar o erro "não é um diretório: não existe esse arquivo ou diretório" , como o comentário @trlkly, use o caminho relativo no destino, ou seja, usando o exemplo:

  1. cd /home/jake/
  2. ln -s /home/jake/doc/test/2000/something xxx
theglauber
fonte
48
Observe que você precisa usar um caminho completo para esta sintaxe. Acabei tendo que usar ln "$(pwd)/relative_path" xxxpara obter um link absoluto para xxxusar um caminho relativo. Aparentemente, as regras do bash clobbering não são expandidas para a SOURCE.
trlkly
ln -s / home / jake / destination / home / jake / link_name
Turako
1
'hard link não é permitido para o diretório' é o que o meu debian diz
Zbig
@ zbig Como se diz, o link físico é apenas para arquivos. Para dir, useln -s
Azuaron
1
Como disse trlkly, escreva o caminho completo manualmente. O comando "ln" não expande nem mesmo o diretório inicial "~".
Anton Tarasenko
51

você deveria usar :

ln -s /home/jake/doc/test/2000/something xxx
WiseTechi
fonte
como mencionado na íntegra como um comentário nesta resposta , eu tive que usar o caminho completo para a fonte e o link.
Pedram Ashofteh Ardakani