比方說,我有以下的目錄層次結構創建符號鏈接,同時保留子樹
|/home
| |/john
| | |/app
| | | |/folder1
| | | | |/data1.dat
| | | | |/...
| | | |/folder2
| | | | |/...
| | | |/cfg
| | | | |/settings.cfg
| | | | |/...
| | | |/start.sh
| |/deer <-- I'm here
| | |/app
我需要符號鏈接(空間原因)都在/ home/JOHN /應用程序中的文件排除下的文件/家/ john/app/cfg(它們是爲每個用戶定製的)/ home/deer/app,同時保留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
在此先感謝。
沒有必要鏈接*每*下一個 '/ home/JOHN /應用程序' 文件。只需鏈接每個目錄,但'cfg'和'./app'下的每個常規文件。 – agc
這是一個簡化,實際上我有另一個dir'plugins'在名爲'addons'的第四個目錄下,我想排除它,所以要做到這一點,我必須用maxdepth逐級遍歷層次結構,更讓我感到困惑。 – Robotex
啊,第二個排除,在一個子目錄中......我在發佈一個沒有解釋的答案後讀到這個。嗯...... – agc