假设我有以下目录层次结构
|/home
| |/john
| | |/app
| | | |/folder1
| | | | |/data1.dat
| | | | |/...
| | | |/folder2
| | | | |/...
| | | |/cfg
| | | | |/settings.cfg
| | | | |/...
| | | |/start.sh
| |/deer <-- I'm here
| | |/app
我需要符号链接(出于空间原因) /home/john/app 下的所有文件排除 /home/john/app/cfg 下的文件(它们是为每个用户定制的)在 /home/deer/app 同时保留子目录应用程序文件夹中的树。
我怎样才能做到这一点?我已经尝试使用rsync
(重新创建子文件夹树)和find
(列出 cfg 中没有文件的文件)的组合,但是我很难告诉ln
在正确的子文件夹中创建符号链接。
rsync -a -f"+ */" -f"- *" /home/john/app/ app/
find /home/john/app/* -type f -exec ln -s '{}' app/ \; # I'm stuck here
提前致谢。