【问题标题】:How to create a link to a directory [closed]如何创建指向目录的链接[关闭]
【发布时间】:2012-03-24 03:39:37
【问题描述】:

如何创建xxx/home/jake/doc/test/2000/something/ 的链接?

假设xxx 是在/home/jake 下创建的,而您当前位于/home/jake。当你做cd xxx时,你直接去/home/jake/doc/test/2000/something/

【问题讨论】:

  • 为什么是off-topic这个问题?
  • 这可能被认为是属于 unix.stackexchange.com 的问题
  • @jcollum:可能是这样...UnixSE has this similar Q&A for example,但这里选择的答案似乎更好。
  • ln -s /data/data/com.termux/files/usr/lib/python3.9/site-packages /data/data/com.termux/files/usr/lib/python3. 10/站点包

标签: linux shell command


【解决方案1】:

符号或软链接(文件或目录,更灵活和自我记录)

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

硬链接(仅文件,不太灵活且不自记录)

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

更多信息:man ln


/home/jake/xxx 就像一个新目录。为避免“不是目录:没有这样的文件或目录”错误,如@trlkly注释,在目标中使用相对路径,即使用示例:

  1. cd /home/jake/
  2. ln -s /home/jake/doc/test/2000/something xxx

【讨论】:

  • 请注意,您必须为此语法使用完整路径。我最终不得不使用ln "$(pwd)/relative_path" xxx 以使用相对路径获得xxx 的绝对链接。显然,bash 破坏规则没有为 SOURCE 扩展。
  • ln -s /home/jake/destination /home/jake/link_name
  • 'hard link not allowed for directory' 是我的 debian 所说的
  • @zbig 正如它所说,硬链接只是文件。对于目录,使用ln -s
  • 正如trlkly所说,手动编写完整路径。 “ln”命令甚至不展开主目录“~”。
【解决方案2】:

你应该使用:

ln -s /home/jake/doc/test/2000/something xxx

【讨论】:

  • 正如trlkly 在此answer 中作为评论提到的那样,我必须对源代码和链接使用完整路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-30
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
相关资源
最近更新 更多