linux 快速删除大量文件和大文件

格式:
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

假如你有一些特别大的文件要删除,比如nohup.out这样的实时更新的文件,动辄都是几十个G上百G的,也可以用rsync来清空大文件,而且效率比较高。

1)创建空文件

touch/data/blank.txt

2)用rsync清空文件

rsync-a –delete-before –progress –stats /root/blank.txt /root/nohup.out

总结:
相比较rm删除命令
1rm的上下文切换比较多,会造成System CPU占用较多——对于文件系统的操作,简单增加并发数并不总能提升操作速度。
2 rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复操作很多次;rsync删除内容时,建立好新的空目录,替换掉老目录,基本没开销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值