平时最多定、排查Linux服务器各类问题,最直接的就是看日志,了解常用的查看日志命令,可以快速定位问题、提高工作效率!!!
一、more
一页一页的显示档案内容
二、less(推荐)
与more类似,但是比more强大,支持前后翻页
1 2 3 4 5 6 7 8 9 10
| 分页(向前、向后翻页)查看文件内容 基本命令:less /apps/srv/instance/test-courselive.knowbox.cn/logs/course.log
g 跳到第一行 G 跳到最后一行 b 向上滚动一屏 d 向下滚动半屏 f 向下滚一屏 ? 需要查找的内容,回车查找 q 退出less
|
三、head
只看头几行
1 2
| eg:显示user.log文件前10行 head -n 10 /etc/user.log
|
四、tail
只看尾巴几行(与head相反)
1 2 3
| -n 是显示多少行 -f 实时显示默认10行 tail -100f test.log 实时监控100行日志
|
五、cat
由第一行开始显示档案内容;
tac倒序查看内容(与cat相反)
六、应用场景
场景一、实时查看
1
| tail -f /apps/srv/instance/courselive.knowbox.cn/logs/course.log
|
场景二、按照时间段查找
1
| sed -n '/2018-12-06 11:57:10/,/2018-12-06 11:59:10/p' /apps/srv/instance/courselive.knowbox.cn/logs/course.log
|
场景三、 按照关键词查找最新(倒序)
1 2 3
| tac /apps/srv/instance/courselive.knowbox.cn/logs/course.log |grep -m2 -C10 'buyClassHandle' grep -m:搜索的结果个数设置 -C(大写):搜索结果的旁边n行输
|
1 2 3
| tail user.log -n 300 -f grep 'bug' | tail user.log -C 10
查看字符‘nick’前后10条日志记录, 大写C
|
场景五、按照关键词翻页(less\more)查找
1
| cat -n test.log |grep "jiang" |more
|
- 场景六、xxx.txt将其保存到文件中,到时可以拿下这个文件分析.如:
1
| cat -n test.log |grep "jiang" >xxx.txt
|
1 2 3
| tail user.log -n 300 -f grep 'bug' | tail user.log -C 10
查看字符‘nick’前后10条日志记录, 大写C
|
- 场景八、在指定|当前目录下多个文件中查询包含某关键字文件的方法
1 2 3 4 5 6 7 8 9 10 11 12
| -- 执行目录所有文件 find /apps/srv/instance/test-courselive.knowbox.cn/logs/ -name \* -type f -print | xargs grep -l '63046883581440'
-- 指定某些文件后缀包含某关键字 find -name 'course*' | xargs grep -l '63046883581440' -- 指定某些文件后缀查询包含某关键字,并将结果转存debug.log文件中 find -name 'course*' | xargs grep -l '63046883581440' > debug.log -l 查看对应文件 -C 查看文件内容上下行数
|

1 2 3 4 5
| -- 或操作 cat /apps/srv/instance/courselive.knowbox.cn/logs/course.log | egrep -m3 -C1 '10000000000418|108469806187008' -- 与操作 cat /apps/srv/instance/courselive.knowbox.cn/logs/course.log | grep '108469806187008'| grep '118961449773568'
|
1 2 3 4 5 6
| sz /apps/srv/instance/courselive.knowbox.cn/logs/course.log
rz 选择本地目录
|
1 2 3
| netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n -- 查找请求数请20个IP(常用于查找攻来源) netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' LAST_ACK 5 SYN_RECV 30 ESTABLISHED 1597 FIN_WAIT1 51 FIN_WAIT2 504 TIME_WAIT 1057
|
- 场景13、日常了解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| 查看进程 ps -ef | grep + 进程名,一般是项目名 #可以过滤多个文件夹名字,比如: ps -ef | grep java | grep cmis 3.终止线程 kill -9 19979 终止线程号位19979的线程 4.查看文件,包含隐藏文件 ls -al 5.当前工作目录 pwd 6.复制文件包括其子文件到自定目录 cp -r sourceFolder targetFolder 7.创建目录 mkdir newfolder 8.删除目录(此目录是空目录) rmdir deleteEmptyFolder 9.删除文件包括其子文件 rm -rf deleteFile 10.移动文件 mv /temp/movefile /targetFolder 扩展重命名 mv oldNameFile newNameFile 11.切换用户 su -username 12.修改文件权限 chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行 13.压缩文件 tar -czf test.tar.gz /test1 /test2 14.列出压缩文件列表 tar -tzf test.tar.gz 15.解压文件 tar -xvzf test.tar.gz
|
相关参考