出于性能方面的原因,将-exec操作符放的越靠后越好. 这样可以避免不要的进程
find命令需要读取它所搜索的目录树中的每个索引节点,因此最好尽可能地把多个内容组合到单个find命令中. 方法为
find . \( -type d -a -exec chmod 771 {} \; \) -o \ \( -name "*.BAK" -a -exec chmod 600 {} \; \) -o \ \( -name "*.sh" -a -exec chmod 755 {} \; \) -o \ \( -name "*.txt" -a -exec chmod 644 {} \; \) -o \
为了提高find的效率,可以考虑创建自己的find数据库
创建find数据库
cdfind . -print |sed "s@^./@@" > ~/.fastfinddb # 存储~/下的所有文件信息,并替换到./
创建cron定时运行该脚本创建find数据库.
创建一个shell脚本来使用这个数据库
ffind() { egrep "$1" ~/.fastfinddb |sed "s@^@$HOME/@" # 在查询结果前添加$HOME }
如何提高find的性能
原创
©著作权归作者所有:来自51CTO博客作者lujun9972的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
如何提高mysql delete速度
提高mysql delete速度的方法简要介绍。
sql 数据 MySQL -
PHP如何提高性能
PHP为什么慢?PHP最初设计并非解决计算密集型的应用场景,即它为了提升开发效率而牺
PHP php 执行效率 解决方案