我将所有点文件移出
~/
到~/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”是尝试访问的应用程序的名称。只需删除该链接并重试即可。此外ls
,stat .vimrc
还会向您显示文件指向的内容。该输出将开始:
File: ‘.vimrc’ -> ‘.vimrc’
哎呀! readlink
甚至更简单:
> readlink .vimrc
.vimrc
仅给出链接指向的路径。如果该路径与文件完全相同,则它是循环链接。你想看:
> readlink .vimrc
data/dotfiles/.vimrc