我有一个三个文件夹:core,project并与里面的许多文件合并。我想删除merge文件夹内的所有文件和文件夹(包括dot文件),然后将core文件夹中的所有文件(包括dot文件)复制到merge文件夹,同时将project文件夹下的所有文件都合并到merge文件。
情况
rm -rf /path/to/folder/*没有删除文件和文件夹。)tar -cf my.tar path/; tar -xf my.tar)我正在使用 tar,但文件太多,我需要更快的方法。
rm -r merge/* merge/.*
rm: "." and ".." may not be removed
Run Code Online (Sandbox Code Playgroud)
您可以放心地忽略该警告。就个人而言,我可能只是rm -r merge对目录本身进行核对。
cp -r core/ merge/
Run Code Online (Sandbox Code Playgroud)
...但这会覆盖合并目录。
cd core && find . -exec cp "{}" "../merge/{}" \;
Run Code Online (Sandbox Code Playgroud)
有点慢且难以编写,但功能齐全且不会破坏父目录。
rsync -av --delete core/ merge/
Run Code Online (Sandbox Code Playgroud)