参考文章: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”问题解决与研究相关推荐

  1. 前端npm install报错too many levels of symbolic links解决办法

    在Linux环境通过Jenkins构建前端项目,只要执行npm install安装模块以后,就会报错: node_modules/webpack/node_modules/@webassemblyjs ...

  2. 【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 ...

  3. 【Shell】ln: Too many levels of symbolic links

    当我试图执行: ln -sf source-file-path(相对路径) link-file-path(相对路径) 报错Too many levels of symbolic links 答案在,这 ...

  4. too many levels of symbolic links的错误

    too many levels of symbolic links的错误 ln -s /sourcepaht /targetpath 源路径要使用完整绝对路径

  5. Too many levels of symbolic links

    apache 虚拟主机配置时报错Too many levels of symbolic links ln -s 使用绝对路径 转载于:https://blog.51cto.com/here2142/1 ...

  6. [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/ ...

  7. cp symbolic links 引发Too many levels of symbolic links

    在make一个项目的时候,经常会遇到如下报错 cp: cannot open 'xxxxxxx.so' for reading: Too many levels of symbolic links 查 ...

  8. linux 解决npm设置全局变量后报 Too many levels of symbolic links

    只需要删除 /usr/local/bin下的node和npm即可解决 运行以下命令即可 · sudo rm -rf /usr/local/bin/npm /usr/local/bin/node ·

  9. # cmake --version -bash: /usr/bin/cmake: Too many levels of symbolic links

    原因分析: 建立软连接的时候采用的是相对路径,所以才会产生这样的错误,解决方式是采用绝对路径建立软链接: root@DESKTOP-0PH9L3H:~# rm -rf /usr/bin/cmake r ...

最新文章

  1. 新浪项目-------小知识点答疑解惑
  2. python画图代码彩虹-Python利用turtle库绘制彩虹代码示例
  3. C语言-宏定义#define的用法
  4. 水滴石穿之IFRANME加载完成判断、获取函数的动态参数信息
  5. Docker : 数据卷(创建、挂载、查看、删除)
  6. Druid的外网访问异常
  7. java基础—对一个字符串中的数值进行从小到大的排序
  8. C语言可变参数函数的使用及相关函数介绍
  9. 计算机视觉方面的三大国际会议是ICCV, CVPR和ECCV,我统称之为ICE。
  10. 创业公司如何做到零成本实现用户快速增长
  11. 以线虫为模型模拟的神经网络,让机器人无需训练即可自动避开障碍物
  12. atitit.taskService 任务管理器的设计 v1
  13. SpringMVC防止表单重复提交
  14. 埃斯顿三轴机器人编程_一文了解Estun Studio机器人仿真与离线编程软件
  15. NOIP2016普及组T2(回文日期)题解
  16. 将SolidWorks物料清单导出到Excel时可带缩略图了!
  17. Infor LN咨询服务市场报告-行业发展机遇、市场定位及主要驱动因素
  18. 什么是TailwindCSS
  19. 趋势预测方法(五)Holt-Winters模型_时序递推预测
  20. SKY光遇功能辅助脚本介绍 新手入门了解SKY光遇

热门文章

  1. ubuntu 创建桌面快捷启动
  2. SQL搜索近12个月的数据
  3. php使用redis实现购物车功能,ThinkPHP5+Redis实现购物车
  4. html职业性格测试,职业性格测试小题目
  5. 全球及中国电影市场品牌建设发展及投资潜力预测报告2021-2027年
  6. DataSet是什么,怎么用
  7. 一次函数+机器学习入门
  8. 简单三步,教你快速接入淘宝开放平台,调用官方API
  9. 第二次作业《软件工程》
  10. 企业流程管理差距在哪里