复制并替换到文件夹以另一种最快的方式 - linux bash

复制并替换到文件夹以另一种最快的方式 - linux bash

我有三个文件夹:项目合并里面有很多文件。我想删除里面的所有文件和文件夹(包括点文件)合并文件夹,然后从文件夹合并文件夹,并合并文件夹中的所有文件项目文件夹放入合并文件。

情况

  1. 如何在不删除特殊文件夹的情况下从特殊文件夹中删除所有文件和文件夹(包括点文件)?(rm -rf /path/to/folder/*没有删除文件和文件夹。)
  2. 将所有文件从特殊文件夹递归复制(有或没有合并和替换)到另一个文件夹(包括点文件)的最快方法是什么?(tar -cf my.tar path/; tar -xf my.tar

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

答案1

删除

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/

相关内容