加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

原来你是这样的软连接

发布时间:2022-11-19 11:16:11 所属栏目:Linux 来源:
导读:  Linux系统下,软连接是我们常用来方便文件快速访问,节省空间,保证文件内容统一,简化环境变量设置的一个方式。使用起来也很简单 ln -s source target就可以搞定,但它总有调皮的时候。

  文件目录结构如
  Linux系统下,软连接是我们常用来方便文件快速访问,节省空间,保证文件内容统一,简化环境变量设置的一个方式。使用起来也很简单 ln -s source target就可以搞定,但它总有调皮的时候。
 
  文件目录结构如下所示,想把当前目录下的ehbio.fa链接到~/data目录下,按如下操作发现链接后的文件访问不了,提示符号连接的层数过多,仔细查看时原来是出现了一个自己指向自己的链接。问题出在建立软连接时源文件未使用全路径。
 
  ct@ehbio:~/ehbio_project$ ls
 
  ehbio3.fa ?ehbio4.fa ?ehbio5.fa ?ehbio6.fa ?ehbio.fa ?second.fa
 
  ct@ehbio:~/ehbio_project$ ln -s ehbio.fa ~/data
 
  ct@ehbio:~/ehbio_project$ less ~/data/ehbio.fa
 
  /home/ct/data/ehbio.fa: 符号连接的层数过多
 
  ct@ehbio:~/ehbio_project$ ls -l ~/data
 
  总用量 4
 
  lrwxrwxrwx 1 ct ct ? 8 6月 ?21 15:48 ehbio.fa -> ehbio.fa
 
  -rw-rw-r-- 1 ct ct 284 6月 ? 8 2017 first.fa
 
  正确方式是:pwd使用命令代替当前路径名,适合任何目录。
 
  ct@ehbio:~/ehbio_project$ ln -sf `pwd`/ehbio.fa ~/data
 
  ct@ehbio:~/ehbio_project$ ls -l ~/data
 
  总用量 4
 
  lrwxrwxrwx 1 ct ct ?31 6月 ?21 16:00 ehbio.fa -> /home/ct/ehbio_project/ehbio.fa
 
  -rw-rw-r-- 1 ct ct 284 6月 ? 8 2017 first.fa
 
  使用全路径名,尤其使用家目录 ~ 符号时,只限操作用户自身有效。另外不同用户之间建立软连接,需要考虑访问权限问题,任意一层目录都需要可读权限 (目录的可读为rx都有)。
 
  关于,我们之前有过介绍。当然最全的文档可以后台回复生信宝典福利第一波获取。这些内容中提到,如果觉得环境变量设置太繁琐了linux软链接,那么建立一个目录比如~/bin,只需把这个目录放入环境变量 export PATH=~/bin:$PATH,以后新安装的软件,都把可执行程序软链到~/bin目录下,直接可用。
 
  前几天这个使用方式竟然也出了个诡异的问题,比如运行bwa时,出现符号连接的层数过多,但是使用全路径运行无问题,说明不是bwa链接出错了。问题就应该是出在环境变量所包括的目录中了,确实是有个目录是软连接失效。
 
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!