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/.


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

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

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.