Linux下比find快N倍的文件查找命令
2016-01-26 09:51
465 查看
使用linux操作系统的人,一般都用过文件查找命令find,在文件数量非常庞大的时候,比如在高通的android工程项目中,目录大小有十几个G,文件数量非常多,用find命令就太慢了。 下面介绍一个比find快得多的命令,搜索任何文件几乎都能在一秒内返回,时间复杂度O(1)。 mlocate 这个命令的原理是,先为文件系统创建索引数据库,mlocate只是搜索索引,所以速度快 准备工作:创建数据库(创建索引) sudo updatedb 只有root权限才能执行,他会扫描整个系统,为整个系统创建索引,数据库在/var/lib/mlocate/mlocate.db 这个过程会比较慢,可以在中午或晚上跑一下,执行完了上面的命令就可以使用mlocate搜索文件了 使用命令 mlocate abc.txt mlocate -ie abc.txt 如果 abc.txt已经删除了,使用-e会检查文件是否真实存在,而不必updatedb;-i,忽略大小写 mlocate /etc/*profile 在/etc中查找类似profile的文件 注意:对于新增文件应该先updatedb更新数据库,否则就搜不到,当然更新索引时,执行updatedb还是比较快的
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍