符号链接到 ~/ 而不是 ~/

符号链接到 ~/ 而不是 ~/

我将所有点文件移出 ~/~/data/dotfiles

然后我做了ln -s ~/data/dotfiles/[filename] ~/

我的意图是ln -s ~/data/dotfiles/[filename] ~/[filename]

这包括我的.vimrc.bashrc和其他人

现在,当我打开终端会话或打开 vim 时,我得到too many levels of symbolic links.

我不确定是否从我的主目录或文件所在的目录中删除符号链接。

任何帮助,将不胜感激。

按要求: jsw:dotfiles jsw$ ls -l ~/.vimrc ~/data/dotfiles/.vimrc lrwxr-xr-x 1 jsw staff 6 1 Aug 13:54 /Users/jsw/.vimrc -> .vimrc -rw-r--r-- 1 jsw staff 11044 31 Jul 10:51 /Users/jsw/data/dotfiles/.vimrc

答案1

lrwxr-xr-x 1 jsw 工作人员 6 8 月 1 日 13:54 /Users/jsw/.vimrc -> .vimrc

你犯了一个错误;这是由以下等价物产生的:

ln -s .vimrc .vimrc

您可以做一些比 ( ln -s foo/../.vimrc .vimrc) 更复杂的事情,但无论如何,只要没有实际的.vimrc文件,ln就会创建链接,但它将是一个无用的东西。如果您尝试访问它,您将得到:

foobar: ./.vimrc:
Too many levels of symbolic links

其中“foobar”是尝试访问的应用程序的名称。只需删除该链接并重试即可。此外lsstat .vimrc还会向您显示文件指向的内容。该输出将开始:

File: ‘.vimrc’ -> ‘.vimrc’

哎呀! readlink甚至更简单:

> readlink .vimrc
.vimrc

仅给出链接指向的路径。如果该路径与文件完全相同,则它是循环链接。你想看:

> readlink .vimrc
data/dotfiles/.vimrc

相关内容