我只是想知道是否可以使用 for 循环创建大量符号链接?
例如,我的 /tmp 目录上有很多目录(我知道,不推荐)并且我不想将它们移出。
相反,我只想使用符号链接将它们放在我的根目录中。
这是我所做的,但不幸的是,根本没有起作用:
for directories in /tmp/; do ln -s /tmp/$directories /$directories; done
所以如果有人能给我一点提示,那就太好了;-)谢谢。
答案1
尝试这个。
cd /tmp && for i in `ls `; do ln -s $i /$i; done
答案2
下面的块将按照您的解释创建链接。
如果您想要从 /tmp 中过滤掉一些名称;请使用-name
开关进行查找。
如果你想要更大的深度符号链接调整/删除-maxdepth
开关
cd /
find /tmp/ -maxdepth 1 -type d -exec ln -s {} \;
要建立这些链接,您需要对 / 具有写权限
答案3
好的,工作完成了,感谢大家的提示。
这是我的简单解决方案:
for i in $(ls); do dir=$i; ln -s /tmp/$dir /$dir; done
瞧!
再次感谢 StackExchange 社区 ;-)
答案4
您需要对要创建符号链接的目录具有写入权限。请记住,/tmp 通常会在启动时清理,并且可能会在机器正常运行期间定期清理,因此,依赖 /tmp 中持续存在的内容迟早会让您吃亏。