OS X - 在 ~ 目录中的 ln -s 显示出奇怪的行为

OS X - 在 ~ 目录中的 ln -s 显示出奇怪的行为

我目前正在设置我的新系统 (OS X) 并尝试链接~/Git//Library/WebServer/Documents/,以便我可以通过 127.0.0.1 访问我的所有 git 存储库。但是,这并不像预期的那样工作。

虽然我能够符号链接其他目录:

ln -s / ~/Desktop/root
ln -s ~ ~/Desktop/home

它只是不想与我的~/Git目录一起工作:

sudo ln -s ~/Git /Library/WebServer/Documents/Git
ln -s ~/Git ~/Desktop/Git

链接已创建,但它告诉我The operation can’t be completed because the original item for “Git” can’t be found.无论我将其放在哪里,行为总是一样的。它似乎也与我的主目录中的其他目录相同(主目录本身除外)。

ls -l ~/Desktop
lrwxr-xr-x  1 user  staff   1 Jul  8 08:31 : -> /
lrwxr-xr-x  1 user  staff   4 Jul  9 12:50 Git -> /Users/user/Git
lrwxr-xr-x  1 user  staff  29 Jul  8 08:38 wwwroot -> /Library/WebServer/Documents/
lrwxr-xr-x  1 user  staff  19 Jul  8 08:31 ~ -> /Users/user

答案1

通常(因为 OSX 上的默认 shell 是 bash),波浪符号 ( ~) 会展开到您的主目录。这在Bash 参考手册:波浪符号扩展

但是,目录列表显示您已"~"在桌面中创建了一个条目,方法是绕过默认行为(引用,如中所述如何在 Bash 中手动扩展特殊变量(例如:~tilde)),或者由于一些错误找到实际的主目录。因为你说这是在任何目录,听起来好像(在创建帐户期间),您移动/重命名了某些内容,例如,不同的磁盘驱动器,因此 bash 在应在的位置找不到实际目录。因此,您得到了文字"~".

相关内容