也想出现在这里? 联系我们

在Linux系统中批量删除多个文件的方法总结

作者 : 小编 本文共2350个字,预计阅读时间需要6分钟 发布时间: 2022-10-30 共360人阅读
也想出现在这里? 联系我们

当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。 1. rsync安装,有些系统默认安装有该命令ubuntu系统:

复制代码

代码如下:

sudo apt-get install rsync

fedora 系统:

复制代码

代码如下:

sudo yum install rsync

其他的可以源码安装,到下面的网站下载http://rsync.samba.org

2. rsync提供了一些跟删除有关的参数rsync –help | grep delete –del an alias for –delete-during –delete delete extraneous files from destination dirs –delete-before receiver deletes before transfer, not during –delete-during receiver deletes during transfer (default) –delete-delay find deletions during, delete after –delete-after receiver deletes after transfer, not during –delete-excluded also delete excluded files from destination dirs –ignore-errors delete even if there are I/O errors –max-delete=NUM don\’t delete more than NUM files其中–delete-before接收者在传输之前进行删除操作

3. 示例清空目录或文件,如下: 1、先建立一个空目录

复制代码

代码如下:

mkdir /data/blank

2、用rsync删除目标目录

复制代码

代码如下:

rsync –delete-before -d -a -H -v –progress –stats /data/blank/ /var/edatacache/

或者

复制代码

代码如下:

rsync –delete-before -d /data/blank/ /var/edatacache/

这样/var/edatacache目录就被快速的清空了。

选项说明:–delete-before 接收者在传输之前进行删除操作–progress 在传输时显示传输过程-a 归档模式,表示以递归方式传输文件,并保持所有文件属性-H 保持硬连接的文件-v 详细输出模式–stats 给出某些文件的传输状态-d transfer directories without recursing

删除文件夹如果大量小文件都集中在几个目录中,那么这个方法就有用了。

复制代码

代码如下:

rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思-i 进行交互式删除。提示:使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。使用这个rm -rf删除文件的时候一定要格外小心,linux没有回收站的。rm -r 目录名:将子目录及子目录中所有档案删除

复制代码

代码如下:

[root@localhost test]# ls -l

总计 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxr-xr-x 2 root root 4096 10-26 14:51 test1 drwxr-xr-x 3 root root 4096 10-25 17:44 test2 drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5

复制代码

代码如下:

[root@localhost test]# rm -r test1

rm:是否进入目录 “test1”? y rm:是否删除 一般文件 “test1/log3.log”? y rm:是否删除 目录 “test1”? y

复制代码

代码如下:

[root@localhost test]# ls -l

总计 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxr-xr-x 3 root root 4096 10-25 17:44 test2 drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]# rm -rf 目录名 :把子目录及子目录中所有档案删除,并且不用一一确认

复制代码

代码如下:

[root@localhost test]# rm -rf test2 [root@localhost test]# ls -l

总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf drwxrwxrwx 2 root root 4096 10-25 17:46 test3 drwxr-xr-x 2 root root 4096 10-25 17:56 test4 drwxr-xr-x 3 root root 4096 10-25 17:56 test5 [root@localhost test]#

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 在Linux系统中批量删除多个文件的方法总结

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录