我只是想知道自己是否可以使用for循环创build大量的符号链接?
例如,我在/ tmp目录上有很多目录(我知道,不推荐),我不想将它们移出。
相反,我只想使用符号链接将它们放在我的根目录下。
这是我做的,但不幸的是,根本不工作:
for directories in /tmp/; do ln -s /tmp/$directories /$directories; done
所以,如果有人能给我一个提示,这将是wonderfull ;-)谢谢。
尝试这个。
cd /tmp && for i in `ls `; do ln -s $i /$i; done
以下块将按照您的解释创build链接。
如果你想从/ tmp中过滤掉一些名字, 使用-name开关进行查找。
如果你想更深入的-maxdepth链接调整/删除-maxdepth开关
cd / find /tmp/ -maxdepth 1 -type d -exec ln -s {} \;
要制作这些链接,您需要在/
for directories in `find /tmp/ -type d` do ln -s /tmp/$directories /$directories; done
您需要对要在其中创build符号链接的目录拥有写入权限。 请记住,/ tmp是(通常)在启动时清理的,并且可以在整个机器的正常运行时间内定期清理,所以依靠/ tmp持久化的东西迟早会咬你的。
好的,工作完成,谢谢大家的提示。
这是我简单的解决scheme:
for i in $(ls); do dir=$i; ln -s /tmp/$dir /$dir; done
Et瞧:D
再次感谢StackExchange社区;-)