好的,所以我一直在努力解决这个问题,但我很挣扎。
前提是:我有一个包含很多子目录的目录(其中一些还包含更多子目录),并且我在不同的共享上有另一个单独的目录,它模仿布局中的源目录。我现在需要的是一种遍历源目录的方法,发现子目录中的文件,然后在目标目录中创建指向它们的符号链接。
万一这不是很清楚,这篇文章描述得相当好,除了那个问题是针对符号链接目录,而不是文件本身。
编辑:刚刚注意到 Kerrek 的意思,忘记包含这个链接:Bash script to automatically create symlinks to subdirectories in a tree
好的,到目前为止,根据Kerrek的回答,我有这个:
#!/bin/bash
SOURCE="/home/simon/testdir/src"
DEST="/home/simon/testdir/dest"
cd $DEST
find $SOURCE -type f -exec ln -s -- "{}" "{}" \;
exit
这给出了以下内容:
ln: creating symbolic link `/home/simon/testdir/src/new.dir/a': File exists
ln: creating symbolic link `/home/simon/testdir/src/new.dir/b': File exists
ln: creating symbolic link `/home/simon/testdir/src/new.dir/c': File exists
但是,它实际上并没有在目标目录中创建符号链接。