Linux快速删除文件夹

操作方法

  1. 先创建一个空目录,如:

    1
    mkdir /root/blank
  2. 执行命令

    1
    rsync --delete-before -d /root/blank/ $TargetDir/
  3. 删除空文件夹

命令解释

1
2
-delete-before 接收者在传输之前进行删除操作
-d 以不递归的方式拷贝目录本身。默认递归时,如果源为"dir1/file1",则不会拷贝dir1目录,使用该选项将拷贝dir1但不拷贝file1

原因

1
2
rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复遍历很多次;
rsync删除内容时,建立好新的空目录,替换掉老目录,不需要进行大量的遍历操作。

© 2021 Moyuu