Linux

以另一種最快的方式複制並替換到文件夾 - linux bash

  • May 18, 2012

我有三個文件夾:coreproject並與里面的許多文件合併。我想刪除merge文件夾內的所有文件和文件夾(包括dot文件),然後將****core文件夾中的所有文件(包括dot文件)複製到merge文件夾,以及將項目文件夾中的所有文件合併到merge中文件。

情況

  1. 如何從特殊文件夾中刪除所有文件和文件夾(包括點文件)而不刪除它們?(rm -rf /path/to/folder/*沒有刪除文件和文件夾。)
  2. 將所有文件從特殊文件夾遞歸複製到另一個文件夾(包括點文件)的最快方法是什麼?( tar -cf my.tar path/; tar -xf my.tar)

我正在使用 tar 但文件太多,我需要一種更快的方法。

刪除

rm -r merge/* merge/.*
rm: "." and ".." may not be removed

您可以放心地忽略該警告。就個人而言,我可能只是rm -r merge對目錄本身進行核對。

複印

cp -r core/ merge/

…但這會覆蓋合併目錄。

cd core && find . -exec cp "{}" "../merge/{}" \;

寫起來有點慢和難,但功能齊全,不會破壞父目錄。

一次全部

rsync -av --delete core/ merge/

引用自:https://serverfault.com/questions/390257