出于性能方面的原因,将-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的性能
最新推荐文章于 2025-06-14 12:00:15 发布
本文探讨了如何通过合理组合find命令参数,利用find数据库和定制化脚本,提高目录搜索效率,减少不必要的文件遍历操作,实现性能优化。
308

被折叠的 条评论
为什么被折叠?



