
所以今天我遇到我的 PHP 檔案之一已過時,所以我必須覆蓋phpthumb
整個伺服器上的目錄。
多個網站在多個未知位置使用此資料夾,那麼如何從 1 個來源路徑覆蓋所有這些目錄? (即:/home/test/testuser/phpthumb/
到/home/*/*/phpthumb/
)
答案1
這應該有效:
echo /home/*/*/phpthumb | xargs -t -n 1 cp -r /home/test/testuser/phpthumb/*
你必須與 一起工作xargs
。不幸的是cp
無法複製到多個目標。cp
可以處理多個來源。
解釋:
echo /home/*/*/phpthumb
:列出所有phpthumb
目錄xargs -t -n 1
: xargs 應該cp
分別呼叫每一行cp -r /home/test/testuser/phpthumb/*
該命令xargs
應該調用。請注意,目標目錄將在末尾附加xargs
.
答案2
嘗試這個:
$ find /home -name "phpthumb" -type d -not -path "*test/testuser/phpthumb" \
-exec cp /home/test/testuser/phpthumb/* {} \;
find
phpthumb
命令在以下位置找到/home
:
-type d
選擇資料夾-not -path
排除test/testuser/phpthumb
對於每個資料夾執行cp
命令。如果test/testuser/phpthumb
是帶有子資料夾的樹,請將-R
選項新增至cp
.