如何使用 1 個來源目錄覆蓋多個位置的目錄

如何使用 1 個來源目錄覆蓋多個位置的目錄

所以今天我遇到我的 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/* {} \;

findphpthumb命令在以下位置找到/home

  • -type d選擇資料夾
  • -not -path排除test/testuser/phpthumb

對於每個資料夾執行cp命令。如果test/testuser/phpthumb是帶有子資料夾的樹,請將-R選項新增至cp.

相關內容