软链接ln -s以及如何解决其产生“Too many levels of symbolic links ”的错误?

Q1:如何利用ln -s来创建快捷方式?

A1:ln(link,链接文件):

Windows中的快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件;

Linux中有两种链接文件:

1)软链接(符号链接symbol),等同于Windows中快捷方式ln -s 源文件名 符号链接文件名,源文件名和符号链接文件名是主从关系,源被删了,符号链接也就失效了, eg: ln -s src.c linker.c (linker.c就是src.c的一个符号链接文件);

2)硬链接,ln 源文件名 符号链接文件名,源文件名和符号链接文件名是并列关系,源被删了,符号链接依然有效。硬链接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的硬链接存在,这个文件就不会被真正删除。只有等所有的链接文件都删除掉了,这个文件才会被真正从硬盘上删除。

Q2:如何解决ln -s软链接产生“Too many levels of symbolic links ”的错误?
A2:在做ln的时候要将文件的绝对路径下的完整目录写上去!
例如想将/mnt/hgfs/下的windows_share/文件夹的链接保存到宿主目录:

ln -s /mnt/hgfs/windows_share/ /home/grush/
(tip: grush是当前普通用户的宿主目录名,每个人都不一样,先输入cd ~切换到宿主目录,然后输入pwd查看宿主目录的绝对路径,第二个文件夹的名字就是宿主目录名 )

 

引起这个问题的原因就是,我在apache的/etc/apache2/sites-enabled这个目录建立软连接的时候,采用了相对路径,就引发了这个问题。解决方法也是非常的简单,在建立软连接的时候,采用绝对路径就可以了,如下所示:

sudo ln -s /etc/apahe2/sites-available/example.conf /etc/apache2/sites-enabled/
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值