linux删除大量文件----rm,rsync
来源:互联网 发布:淘宝上传虚假授权书 编辑:程序博客网 时间:2024/05/22 04:38
http://blog.csdn.net/crazyhacking/article/details/18078047
要在linux下删除海量文件,比如有数十万个文件,此时常用的rm -rf * 就会等待时间很长。这时我们可以使用rsync快速删除大量文件。
1、建立一个空目录
mkdir -p /tmp/rsync_blank
2、确立需要清空的目标目录
/data/web/vip/htdocs/tuan
3、使用rsync同步删除(注意目录后面的“/”),整体效率会快一个数量级的样子。
rsync --delete-before -a -H -v --progress --stats /tmp/rsync_blank//data/web/vip/htdocs/tuan/
选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
-stats 给出某些文件的传输状态
一般我们不需要显示进度,使用以下命令即可
rsync --delete-before -a -H /tmp/rsync_blank//data/web/vip/htdocs/tuan/
把某个文件删掉
1 建立空文件/tmp/empty.txt
2 rsync --delete-before -a -H -v --progress --stats /tmp/empty.txt /opt/bre/xuanji.xiao/test/app.log
3 这样置为空后就可以快速删掉
原理:把文件系统的目录与书籍的目录做类比,rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复操作很多次;rsync删除内容时,建立好新的空目录,替换掉老目录,基本没开销。
rm命令
rm删除(清除)一个或多个文件 -f 选项将强制删除文件,即使这个文件是只读的.并且可以用来避免用户输入(在非交互脚本中使用).
经常会遇到文件名开头为特殊符号的文件后目录,如.mk @等,可以直接rm -rf 删除,或是添加转意字符”\”即可。
今天碰到这样一个情况……
rm将无法删除以破折号开头的文件.
- rm -slow_query_130103.txt.gz
- rm: invalid option -- s
- Try `rm ./-slow_query_130103.txt.gz' to remove the file `-slow_query_130103.txt.gz'.
- Try `rm --help' for more information.
官方在帮助文档中作了特别说明:
- To remove a file whose name starts with a `-', for example `-foo',
- use one of these commands:
- rm -- -foo
- rm ./-foo
解决这个问题的一个方法就是在要删除的文件的前边加上"./"
- -linux删除大量文件----rm,rsync
- linux删除大量文件----rm,rsync
- linux删除大量文件----rm,rsync
- linux删除大量文件----rm,rsync
- rm删除大量文件
- linux无需rm就可快速删除大量文件--- rsync --delete-before -a -H -v --progress --stats
- git rm删除大量文件
- linux 下结合find 和 rm 删除大量文件
- linux 下结合find 和 rm 删除大量文件
- linux 下结合find 和 rm 删除大量文件
- find结合rm删除大量文件
- LINUX中删除大量文件时报 -BASH: /BIN/RM: ARGUMENT LIST TOO LONG 错误
- Linux下删除大量文件error : bash: /bin/rm: Argument list too long
- linux 下结合find 和 rm 删除大量文件 【转发博文】
- linux下使用rm命令删除一个有大量文件的目录
- Linux 删除大量文件
- linux删除大量文件
- Linux下使用rsync最快速删除大量文件的方法
- JQuery学习笔记
- IOS-同一label显示不同字体颜色
- iOS- 详解文本属性Attributes
- linux c 线程通信和同步
- 新手必知:Cisco IOS软件基础
- linux删除大量文件----rm,rsync
- MySQL Study之--MySQL用户及权限管理
- Linux Shell脚本实现根据进程名杀死进程
- js调用webservice方法
- Servlet小的登陆功能的实现
- Java中访问控制符可见性问题
- 有关MFC消息映射表
- Spring MVC整合Mybatis实例
- 【IOS】Instruments 使用教程