1、查看文件的内容
cat:显示文本文件的便捷工具,查看小的文件可以使用,较大的日志文件打开时会占用过多的系统资源,不建议使用。例子:cat -n test.log (-n参数表示显示行号)
2、分页显示文件
more:分页的展示文件内容,按enter键显示下一行,空格键显示下一页,F键显示下一屏,B键显示上一屏。
less:比more命令功能丰富,支持内容查找,并能高亮显示。
3、显示文件尾
tail:查看文件最后几行。例子:tail -n5 -f test.log (-n参数后面跟的数字表示显示文件最后几行,-f参数表示tail程序不退出,并持续显示文件新增加的行)
4、显示文件头
head:显示文件头的几行。例子:head -n5 test.log
5、内容排序
sort:对数据按照某一行进行排序。例子:sort -k 2 -t ' ' -n -r test.log(-k参数是指定排序的列,-t参数指定列分隔符,-n指定按照数字来进行排序,sort默认是字符序排列,-r参数表示逆序排列)
6、字符统计
wc:指定文件中的字符数、字数、行数,并输出统计结果。
-l参数用来统计文件中的行数。
-c参数用来统计文件包含的字节数
-L参数用来查看最长行的长度
-w参数用来查看单词个数。
7、查看重复出现的行
uniq:显示 文件中行重复的次数,或者显示仅出现一次的行,以及仅仅显示重复出现的行,uniq的去重只能是连续的两行,因此常与sort结合使用。
例子:sort test.log | uniq -c,-c参数用来在每一行最前面加上该行出现的次数。
仅展现出现一次的行:
sort test.log | uniq -c -u,-u参数只显示出现一次的行。
展现重复出现的行:
sort test.log | uniq -c -d,-d参数只显示重复出现的行。
8、字符串查找
grep:查找文件中符合条件的字符串,并将包含该字符串的行打印出来。
grep -c java test.log,-c参数表示显示查找到的行数。
grep支持正则表达式,比如查找以j开头a结尾的字符串:grep 'j.*a' test.log
9、文件查找
find:根据文件名称查找文件路径
find /home -name RUNNING.txt
find /home -name *.txt
递归打印当前目录的所有文件:
find . -print,.表示当前目录
whereis:定位到文件系统中可执行文件的位置
whereis java.sh
10、表达式求值
expr:对运算表达式或者字符串进行运算求值。
11、归档文件
tar -cf test.tar log tmp,将log和tmp目录打包成test.tar文件,-c参数表示生成新的包,-f参数指定包的名称。
tar -tf test.tar,-t参数能列出包中文件的名称
tar -xf test.tar,对打好的包进行解压
12、url访问工具
curl,功能很强大
curl www.google.com
curl -i www.google.com,-i参数返回带header的文档
curl -I ww.google.com,-I参数只返回页面的header信息
13、查看请求访问量
查看访问量排名前10的IP地址:
cat test.log | cut -f1 -d " " |sort | uniq -c | sort -k 1 -n -r | head -10
页面访问量排名前10的url:
cat test.log | cut -f4 -d " " |sort | uniq -c | sort -k 1 -n -r | head -10
cut命令用来过滤日志中的指定列,列之间使用空格来分割。
14、查看最耗时的页面
cat test.log | sort -k 2 -n -r | head -10
test.log的第二行为页面响应时间,通过sort按照第二行逆序后,再通过head命令取出排名前10的页面。
15、统计404、500请求的占比
export total_line=`wc -l test.log | cut -f1 '-d " "' && export not_found_line='awk '$6=='404' {print $6}' test.log |wc -l ` && expr $not_found_line \*100 / $total_line
首先计算出test.log的行数,通过export导出为total_line变量,然后通过awk命令输出404请求的行,通过wc -l统计出404请求的行数,导出为not_found_line变量,最后通过expr命令,计算出not_found_line乘以100除以total_line的值,也就是404请求所占的百分比。