Linux 软链接 “Too many levels of symbolic links”问题解决与研究
参考文章:https://www.baeldung.com/linux/too-many-levels-of-symlinks
使用ln命令创建符号链接
要使用ln命令创建符号链接,我们需要传递 –s或–符号选项:
$ ln -s A B
源文件即A,目的地是B。
意义:从 /B/A
中读取源A
的内容。
有两个文件夹data和model在同一个目录下,想要将data链接到model下,从而可以从model/data中读取源data的内容。
└── [drwxr-xr-x] ./mydir├── [drwxr-xr-x] ./mydir/data└── [drwxr-xr-x] ./mydir/model
$ cd /mydir
$ ln -s data model
.
├── [drwxr-xr-x] ./data
└── [drwxr-xr-x] ./model└── [lrwxrwxrwx] ./model/data -> data
符号链接已创建,但实际上已损坏。
可以使用find命令找到所有损坏的符号链接:
$ find -L -xtype l
find: ‘./test/model/data’: Too many levels of symbolic links
此错误的原因是,具有相对源的符号链接始终相对于符号链接目录,而不是我们创建链接的目录。
解决方案:
1.相对路径
2.绝对路径
1. 使用相对路径
因为是相对于目标文件,我们可以通过目标文件相对路径来指定源文件,但要注意指定的源文件路径都将拼接在目标链接之后成为真正用于创建的源路径,可以使用以下方式:
ln -s ../data model
以vscode为例,可以看到model下有了data软链接文件,即model/data(如图后面会有一个反回车一样的图标):
2. 使用绝对路径
我们可以为源参数使用绝对路径:
$ cd /mydir
$ ln -s "$(pwd)/data" model
$ tree --noreport -fp
.
├── [drwxr-xr-x] ./data
└── [drwxr-xr-x] ./model└── [lrwxrwxrwx] ./model/data -> /mydir/data
验证链接是否正常工作:
├── [drwxr-xr-x] ./data
│ └── [-rw-r--r--] ./data/sample.txt
└── [drwxr-xr-x] ./model└── [lrwxrwxrwx] ./model/data -> /mydir/data
$ cd mydir/data
$ ls -l
total 0
-rw-r--r-- 1 baeldung baeldung 0 Aug 3 20:51 sample.txt
如上,已经成功地使用符号链接访问源目录并列出所有文件。
将符号链接到绝对路径的缺点是,当目录名称更改时,它们很容易被破坏。
删除软连接
正确的是:rm -rf hb_link, 这里的f是强制的意思。
错误的是:rm -rf hb_link/ 这个会把整个目录都删了
备注:想要删除链接文件要用以下命令 rm /home/hb_link 只是少了一个“ / ” 删除的 就是链接文件, 也就是在文件的最后不要加上/
问题: ln: failed to create symbolic link ‘/usr/bin/xx’: File exists
把 -s 命令修改成 -sf 命令;-f 命令的意思是强制执行,也就意味着如果不存在就执行创建,存在就执行覆盖掉
Linux 软链接 “Too many levels of symbolic links”问题解决与研究相关推荐
- 前端npm install报错too many levels of symbolic links解决办法
在Linux环境通过Jenkins构建前端项目,只要执行npm install安装模块以后,就会报错: node_modules/webpack/node_modules/@webassemblyjs ...
- 【Nodejs】Too many levels of symbolic links
1.The node binary used for scripts is /snap/bin/node but npm is using /snap/node/3292/bin/node itsel ...
- 【Shell】ln: Too many levels of symbolic links
当我试图执行: ln -sf source-file-path(相对路径) link-file-path(相对路径) 报错Too many levels of symbolic links 答案在,这 ...
- too many levels of symbolic links的错误
too many levels of symbolic links的错误 ln -s /sourcepaht /targetpath 源路径要使用完整绝对路径
- Too many levels of symbolic links
apache 虚拟主机配置时报错Too many levels of symbolic links ln -s 使用绝对路径 转载于:https://blog.51cto.com/here2142/1 ...
- [Ubuntu] bash shell soft-link error: Too many levels of symbolic links
Please see the command below: 代码 david_lee@david-desktop:/home/david_lee/test$ sudo ln -s test /usr/ ...
- cp symbolic links 引发Too many levels of symbolic links
在make一个项目的时候,经常会遇到如下报错 cp: cannot open 'xxxxxxx.so' for reading: Too many levels of symbolic links 查 ...
- linux 解决npm设置全局变量后报 Too many levels of symbolic links
只需要删除 /usr/local/bin下的node和npm即可解决 运行以下命令即可 · sudo rm -rf /usr/local/bin/npm /usr/local/bin/node ·
- # cmake --version -bash: /usr/bin/cmake: Too many levels of symbolic links
原因分析: 建立软连接的时候采用的是相对路径,所以才会产生这样的错误,解决方式是采用绝对路径建立软链接: root@DESKTOP-0PH9L3H:~# rm -rf /usr/bin/cmake r ...
最新文章
- 新浪项目-------小知识点答疑解惑
- python画图代码彩虹-Python利用turtle库绘制彩虹代码示例
- C语言-宏定义#define的用法
- 水滴石穿之IFRANME加载完成判断、获取函数的动态参数信息
- Docker : 数据卷(创建、挂载、查看、删除)
- Druid的外网访问异常
- java基础—对一个字符串中的数值进行从小到大的排序
- C语言可变参数函数的使用及相关函数介绍
- 计算机视觉方面的三大国际会议是ICCV, CVPR和ECCV,我统称之为ICE。
- 创业公司如何做到零成本实现用户快速增长
- 以线虫为模型模拟的神经网络,让机器人无需训练即可自动避开障碍物
- atitit.taskService 任务管理器的设计 v1
- SpringMVC防止表单重复提交
- 埃斯顿三轴机器人编程_一文了解Estun Studio机器人仿真与离线编程软件
- NOIP2016普及组T2(回文日期)题解
- 将SolidWorks物料清单导出到Excel时可带缩略图了!
- Infor LN咨询服务市场报告-行业发展机遇、市场定位及主要驱动因素
- 什么是TailwindCSS
- 趋势预测方法(五)Holt-Winters模型_时序递推预测
- SKY光遇功能辅助脚本介绍 新手入门了解SKY光遇