linux下使用rsync实现目录下大量文件的删除

     一般情况下,我们删除文件使用 rm -f,删除目录时使用rm -rf,但是rm -rf是有缺陷的,当目录上的文件太多时,会删不动目录。


这时候,我们可以使用rsync,通过一种巧妙的替换方式来实现目录下大量文件的删除。具体使用方法可以使用man查看。


使用步骤:

1.先安装rsync.,

   我安装的是rsync-3.0.6-9.el6.x86_64

2.在任意位置上创建个空目录。

   我是在/root目录下新建了个test目录。即空目录是/root/test


3.使用rsync命令。

这也是我被网上的一些资料坑的地方。


坑的过程如下:

第一次使用的命令

 rsync --delete-before -a -H -v  /root/test    ./bak   

其中,bak为要删除的目录,结果执行后,发现./bak目录下的文件没有删除,反而还将/root/test的空目录复制了过来。


后来,多次验证下,才发现应该这么写:

 rsync --delete-before -a -H -v  /root/test/   ./bak   

这样才能实现删除bak目录下的文件的目的。原因是源目录必须是要目录,那么就要求以/结尾。


因为网上没有提示新手们说使用rsync时空目录的路径后要带上/,所以我在这里记录下,防止自己忘记了,也为了和我一样初次使用的新手们免犯低级错误。



你可能感兴趣的:(linux)