LINUX怎么查找一个文件_Linux查找文件的常用命令及用法

find/home-name"filename.txt" locate -b 'config.xml' which python3 grep -l "error" /path/.txt
这就是坑、别信、别这么干。
定期更新locate数据库。

Linux如何搜索文件内容? grep命令查找文件内容的10个实用技巧

记得有次调试网站日志,服务器硬盘快满了,找错误日志定位问题。
打开终端,手一抖敲了 grep -r "4 04 not found" /var/log/nginx/,结果瞬间弹出几百条匹配,眼睛都花了。
这时候发现 -n 参数特别管用,加上 -n 看到行号立马缩小范围,找到问题出在某个新上线页面上。
这让我想起用 grep 查找文件内容就像找东西,得用对工具和技巧。

等等,还有个事,上次写Python脚本分析用户行为日志,直接用 grep -E "click|purchase" access.log | wc -l 就算出转化率,比写SQL快多了。
不过用 grep 的时候突然想到,如果日志文件特别大,比如几个G的 access.log,不加 -I 忽略二进制文件会不会卡死终端?记得之前在测试环境用 grep -rI "error" /data/logs/ 查PHP错误,加 -I 确实快不少。

用正则表达式的时候也踩坑过。
有次查SQL注入特征用 grep -E "[or|and]" sql.log,结果匹配出来一堆正常查询语句,后来发现得加 -w 匹配单词边界才行。
这个 -E 和 -w 的组合现在手到擒来,但想起第一次搞懂花了整整一个下午,当时电脑屏幕右下角还挂着个系统维护的弹窗,搞得效率更低。

最绝的是 -A 参数。
上次查服务器宕机日志,光看匹配行不知道前后情况,加上 -A3 看到匹配行和后三行,瞬间明白是哪个模块出的问题。
这就像看侦探剧,只给关键线索,你得自己脑补前后联系。
不过有时候 -A5 加多了反而信息过载,得根据实际情况调整。

最后发现用 grep 写脚本比直接在终端敲命令方便,比如 grep -r --include=".log" "timeout" /data/ | wc -l > report.txt,跑完第二天看报告发现忘了加 --color,想补个颜色参数还得重跑。
这个细节提醒我,用 grep 的时候得考虑结果用途,看日志要加颜色,写报告要统计数量,不同场景需求不一样。

突然想到现在有些IDE自带 grep 功能,比如Visual Studio Code的 Ctrl+Shift+F,虽然不如Linux原版 grep 参数丰富,但界面直观。
这让人想起当年用Windows的 findstr,后来接触Linux才明白什么才是真正的文本搜索利器。
等等,等等,不知道未来会不会有比 grep 更强的工具出现?

linux命令学习之find命令的使用查找文件 超详细

找文件快用find,名、型、时、大随便选。
比如找.txt文件:find . -name ".txt" 3 0天前的.log删除:find /var/log -name ".log" -mtime +3 0 -exec rm {} ; 项目里常用,大小写注意,用sudo防权限不足。
你自己掂量。