好的,所以我一直試圖讓我的頭,但我掙扎。使用查找子目錄並創建符號鏈接到所有文件
前提是:我有一個包含大量子目錄(其中一些還包含更多子目錄)的目錄,並且我在另一個不同的共享上有另一個單獨的目錄,它模仿佈局中的源目錄。我現在需要的是循環訪問源目錄,發現子目錄中的文件,然後在目標目錄中爲它們創建符號鏈接的方法。
如果這不是很清楚,這篇文章描述得相當好,除了這個問題是針對符號化dirs而不是文件本身。
編輯:剛纔注意到什麼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
但是,它實際上並沒有在目標目錄中創建符號鏈接。
您是否僅僅引用了您自己的非常相同的帖子,聲稱它描述您的帖子非常好? – 2012-03-20 21:53:23
@KerrekSB是的,但我不確定如何適應它在我的情況下使用。我從來沒有真正使用過符號鏈接。 – analbeard 2012-03-20 21:55:27
如果您已經在目標目錄中,您需要說'ln -s {} ./ {} \;'。或者只是做我在答案中寫的。 – 2012-03-20 22:27:41