linux删除文件无需确认,linux无需rm就可快速删除大量文件

格式:  rsync --delete-before -a -H -v --progress --stats 选项: --delete-before    接收者在传输之前进行删除操作 -progress     在传输时显示传输过程 -a       归档模式 表示以递归方式传输文件,并保持所有文件属性 -r        对子目录以递归方式处理 -H      保持硬连接的文件 -v       详细输出模式

举例说明: /home/aniya/ 是一个空文件夹【无任何子目录以及文件】,/home/zhaoyj目录下有很多文件,现在要将这个目录下的N多个文件清空 [root@XKWB5705 home]# rsync --delete-before -a -H -v --progress --stats  /home/aniya/  /home/zhaoyj building file list ... 13 files to consider ./ .bash_history         2032 100%    0.00kB/s    0:00:00 (xfer#1, to-check=11/13) .bash_logout           33 100%    8.06kB/s    0:00:00 (xfer#2, to-check=10/13) .bash_profile          176 100%   21.48kB/s    0:00:00 (xfer#3, to-check=9/13) .bashrc          124 100%   15.14kB/s    0:00:00 (xfer#4, to-check=8/13) .viminfo          557 100%   45.33kB/s    0:00:00 (xfer#5, to-check=7/13) .mozilla/ .mozilla/extensions/ .mozilla/plugins/ Maildir/ Maildir/cur/ Maildir/new/ Maildir/tmp/

Number of files: 13 Number of files transferred: 5 Total file size: 2922 bytes Total transferred file size: 2922 bytes Literal data: 2922 bytes Matched data: 0 bytes File list size: 297 File list generation time: 0.022 seconds File list transfer time: 0.000 seconds Total bytes sent: 3513 Total bytes received: 178

sent 3513 bytes  received 178 bytes  7382.00 bytes/sec total size is 2922  speedup is 0.79 ---------------------------------------------------------------------------------------------------------------------------------------------

当源和目的文件性质不一致的时候会报错的: [root@XKWB5705 /]# rsync --delete-before -a -H -v --progress --stats  /varOLD/   /aniya/usr.tar.gz building file list ... 1 file to consider ERROR: cannot overwrite non-directory with a directory rsync error: errors selecting input/output files, dirs (code 3) at main.c(488) [receiver=2.6.8] rsync: connection unexpectedly closed (8 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(463) [sender=2.6.8] [root@XKWB5705 /]# ls -l aniya/ total 1049844 -rw-r--r-- 1 root root 1073982015 Sep 15 21:09 usr.tar.gz --------------------------------------------------------------------------------------------------------------------------------------------- haha.txt 是空文件,usr.tar.gz是1.1G的压缩包,现在是把usr.tar.gz的大小由1.1G变成0【即清空文件包】

[root@XKWB5705 /]# touch /varOLD/haha.txt [root@XKWB5705 /]# rsync --delete-before -a -H -v --progress --stats  /varOLD/haha.txt   /aniya/usr.tar.gz building file list ... 1 file to consider hahah            0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

Number of files: 1 Number of files transferred: 1 Total file size: 0 bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 32 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 90 Total bytes received: 42

sent 90 bytes  received 42 bytes  88.00 bytes/sec total size is 0  speedup is 0.00

查看一下usr.tar.gz是否还存在,查看结果是存在的,但是包的大小变为了0 [root@XKWB5705 /]# ls -l /aniya/ total 0 -rw-r--r-- 1 root root 0 Sep 15 21:22 usr.tar.gz

----------------------------------------------------------------------------------------------------------------------------------------------- 现在清空/varOLD下的文件,使其变为空目录: [root@XKWB5705 /]# rm -rvf /varOLD/hahah removed `/varOLD/hahah' [root@XKWB5705 /]# ls /varOLD/

我现在要做的是将/aniya/目录下的所有文件清空【即删除usr.tar.gz文件包】: [root@XKWB5705 /]# rsync --delete-before -a -H -v --progress --stats  /varOLD/   /aniya/ building file list ... 1 file to consider deleting usr.tar.gz ./

Number of files: 1 Number of files transferred: 0 Total file size: 0 bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 28 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 50 Total bytes received: 26

sent 50 bytes  received 26 bytes  152.00 bytes/sec total size is 0  speedup is 0.00

/aniya/目录已经为空了 [root@XKWB5705 /]# ls /aniya/ [root@XKWB5705 /]# ls /aniya/

从以上结果可以得知: 当SRC和DEST文件性质不一致时将会报错 当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件 当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录 最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事 最核心的内容是:rsync实际上用的就是替换原理

摘自:ANLJF的专栏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值