那我google下。。。谢谢哈peteryeh64 写了:...我只知道format...rm -r...rm -f...
前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
-
- 帖子: 36
- 注册时间: 2013-01-06 13:19
- 系统: ubuntu12.10
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
-
- 帖子: 36
- 注册时间: 2013-01-06 13:19
- 系统: ubuntu12.10
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
额。。。没记错的话就是这样子,没有明确是些什么文件。。。aerofox 写了:如果原题就是这样的,那还真不好整,必须分多情况,例如:
如果目录下有且只有1万个文件个非隐藏的普通文件,那么可以 rm * 或者 ls -Q | xargs rm
如果目录下有 10001 个文件,删除除了 important.txt 以外的文件,那么在 zsh 中可以 rm *~important.txt
如果目录下有 5 万个文件,删除其中1万个文件,且没什么规律,那么只好干苦力了。

-
- 帖子: 36
- 注册时间: 2013-01-06 13:19
- 系统: ubuntu12.10
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
我想 或许就是考下 命令吧oneleaf 写了:对于超多文件的目录,一般用 find , rsync 的用法比较奇特,很少这样干。
- youzhiyili
- 帖子: 2422
- 注册时间: 2012-03-22 20:42
- 系统: ubuntu22.04
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
mark
@自由建客 @qy117121 @枫叶饭团 @cikekid @YeLee @jtshs256 @eexpress @ljj_jjl2008 @zhw2101024 @TeliuTe @月下叹逍遥 @leeaman @懒蜗牛Gentoo @灰色小狼 @photor @adagio @JiangHui @phoenixlzx @oneleaf
- needle
- 帖子: 78
- 注册时间: 2009-12-01 13:34
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
问题是这些个文件有什么规律, 有什么要求没有, 比如文件名的规律, 文件大小, 文件类型等~
这么笼统, 答案不就很简单么, 直接删除父目录不就可以了么~
10万个文件, find 也就几分钟的事~
如果没有规律, 建议建立文件列表索引到一个文本里.
再用vim剥离出要删除的文件列表.
啊, 又学到一个, ls 还有 -Q 选项啊!
我以为ls 我看了个遍~, 看来还有一些不理解啊~, 不知道其适用环境啊~
这么笼统, 答案不就很简单么, 直接删除父目录不就可以了么~

10万个文件, find 也就几分钟的事~
如果没有规律, 建议建立文件列表索引到一个文本里.
再用vim剥离出要删除的文件列表.
啊, 又学到一个, ls 还有 -Q 选项啊!
我以为ls 我看了个遍~, 看来还有一些不理解啊~, 不知道其适用环境啊~
-
- 帖子: 3
- 注册时间: 2011-08-06 8:36
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
14 ,15楼说的对,考的应该是怎么对付大量的文件。有时候多到用find都得想很多办法才行。
- iceveil
- 帖子: 34
- 注册时间: 2013-12-27 11:49
- 系统: ubuntu 13.10
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
问题很笼统啊 直接rm -rf 目录/* 就可以吧 没有明确指出需要考虑系统负载吧
$ sudo apt-get install wife
正在读取软件包列表...
完成
正在分析软件包的依赖关系树
正在读取状态信息...
完成
下列软件包有不能满足的依赖关系:
wife: 依赖: house 但是它将不会被安装
wife: 依赖: car 但是它将不会被安装
house,car: 依赖: money 但是它将不会被安装
Error: wife无法被安装
正在读取软件包列表...
完成
正在分析软件包的依赖关系树
正在读取状态信息...
完成
下列软件包有不能满足的依赖关系:
wife: 依赖: house 但是它将不会被安装
wife: 依赖: car 但是它将不会被安装
house,car: 依赖: money 但是它将不会被安装
Error: wife无法被安装
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
我的办法一直是ls *|xargs rm
IO负载超高的说。。。
IO负载超高的说。。。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
我前两天干了这个事,btrfs 上十几万个小文件,rsync 了个空目录过去,很快就只剩下目录本身了 =w=
- zhw2101024
- 帖子: 1849
- 注册时间: 2009-03-28 16:10
- 系统: Arch debian win7
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
敢问这个“很快”是多长时间?有监控io和内存负载吗lilydjwg 写了:我前两天干了这个事,btrfs 上十几万个小文件,rsync 了个空目录过去,很快就只剩下目录本身了 =w=
一直没有机会做这个事,一大遗憾
为什么我的问题总是没有人回答?
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
没。大约几秒吧,最多十几秒。zhw2101024 写了:敢问这个“很快”是多长时间?有监控io和内存负载吗lilydjwg 写了:我前两天干了这个事,btrfs 上十几万个小文件,rsync 了个空目录过去,很快就只剩下目录本身了 =w=
一直没有机会做这个事,一大遗憾
-
- 帖子: 1
- 注册时间: 2014-01-08 13:19
- 系统: windows7
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
如果是遴选删除,为什么我第一反应是用python写。。
-
- 帖子: 67
- 注册时间: 2011-11-26 12:55
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
rsync 删除这种海量小文件 很管用的说... 虽然我没也监控过负载和时间. 不过感觉比直接用rm 或者 xargs 都要快 

- zhw2101024
- 帖子: 1849
- 注册时间: 2009-03-28 16:10
- 系统: Arch debian win7
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
据我所知这跟Linux文件系统的一个特性有关,大多数文件系统都会在优化的时候把多个小文件放在一个inode块里,rm命令会把文件名一个一个发送给系统内核,再由系统内核返回对应的inode块地址,10万个文件光是找到所有inode块的地址就要很长时间了。而rsync在这方面的处理上应该更灵活一些,直接把这个目录底下的所有inode都清空了,效率自然高很多。eleven.i386 写了:rsync 删除这种海量小文件 很管用的说... 虽然我没也监控过负载和时间. 不过感觉比直接用rm 或者 xargs 都要快
上次由 zhw2101024 在 2014-01-10 19:49,总共编辑 1 次。
为什么我的问题总是没有人回答?
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
有证据么?zhw2101024 写了:据我所知这跟Linux文件系统的一个特性有关,大多数文件系统都会在优化的时候把多个小文件放在一个inode块里,rm命令会把文件名一个一个发送给系统内核,再由系统内核返回对应的inode块地址,10万个文件光是找到所有inode块的地址就要很长时间了。而rsync在这方面的处理上应该更灵活一些,直接把这个目录底下的所有inode都清空了,效率自然高很多。eleven.i386 写了:rsync 删除这种海量小文件 很管用的说... 虽然我没也监控过负载和时间. 不过感觉比直接用rm 或者 xargs 都要快
我只看到 rsync 用 unlink,rm 用 unlinkat,以及一大堆 fcntl。