开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第41天,点击查看活动详情
大家好,我是阿萨。昨天收到一个提问:”当我发现一个bug时,如何查找对应日志来确定是什么地方出错了?”。
这是一个非常好的问题,日常测试过程中避免不了会出现发现了bug,但是没有办法知道是某些模块的问题,这个时候能找到出错日志就会让开发事半功倍,同时也让自己对系统的了解和掌握事倍功半。
阿萨在这里总结下自己常用的linux 的查找日志的几个命令:
- find
find -name: 根据文件名字来查找,比如,find / -name app.log:在根目录下查找app.log文件。 "/" 表示根目录,“." 表示当前目录。find -perm:根据文件权限来查找,比如:find / -perm 777,:查找根目录下权限为777(rwx-rwx-rwx)的文件 。find -mtine -n(+n):根据文件的更改时间来查找,其中-n代表n天之内的文件,+n代表n天之前的文件,比如:find / -mtime -1:查找1天内修改过的文件find -type:查找某一类型的文件,后带一些参数: -d (目录) -p (管道文件),-f (普通文件),-i(符号链接文件)
-
tail 阿萨经常用 tail -f app.log 来查看最近的日志。也可以用 tail -n 100 app.log 来查看最近n条的日志。
-
cat 一般阿萨使用 cat -n app.log | grep 'error' 来查看关键最附近的日志。
-
cat 显示文本内容。 用法:cat 选项 文件名
-
cat 把多个文件合并成一个文件。用法:cat 文件1 文件2 > 文件3
其他命令 more 选项 文件名 head 选项 文件名
less 选项 文件名
tail 选项 文件名
grep 选项 模式 文件名
sed 选项 脚本命令 文件名 awk 选项 脚本命令 文件名
今天简单列举了常见文本处理的linux 命令,每个命令想要用精。需要花心思去学习。