原来你是这样的软连接

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/ehbio.fa
lrwxrwxrwx 1 ct ct 8 6月  21 15:48 /home/ct/data/ehbio.fa -> 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都有)。

关于软件安装和环境变量,我们之前有过介绍。当然最全的文档可以后台回复生信宝典福利第一波获取。这些内容中提到,如果觉得环境变量设置太繁琐了,那么建立一个目录比如~/bin,只需把这个目录放入环境变量 export PATH=~/bin:$PATH,以后新安装的软件,都把可执行程序软链到~/bin目录下,直接可用。

前几天这个使用方式竟然也出了个诡异的问题,比如运行bwa时,出现符号连接的层数过多,但是使用全路径运行无问题,说明不是bwa链接出错了。问题就应该是出在环境变量所包括的目录中了,确实是有个目录是软连接失效。

CHENTONG
版权声明:本文为博主原创文章,转载请注明出处。
alipay.png WeChatPay.png

CHENTONG

CHENTONG
积微,月不胜日,时不胜月,岁不胜时。凡人好敖慢小事,大事至,然后兴之务之。如是,则常不胜夫敦比于小事者矣!何也?小事之至也数,其悬日也博,其为积也大。大事之至也希,其悬日也浅,其为积也小。故善日者王,善时者霸,补漏者危,大荒者亡!故,王者敬日,霸者敬时,仅存之国危而后戚之。亡国至亡而后知亡,至死而后知死,亡国之祸败,不可胜悔也。霸者之善著也,可以时托也。王者之功名,不可胜日志也。财物货宝以大为重,政教功名者反是,能积微者速成。诗曰:德如毛,民鲜能克举之。此之谓也。

生信宝典文章集锦

生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题。但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程序。也许你可以跟着一个测序分析流程完成操作,但不懂得背后的原理,不知道什么...… Continue reading

生信宝典文章集锦

Published on January 01, 2100

生信宝典文章集锦

Published on January 01, 2100