测试如何linux查看几分钟前的日志,常用Linux命令--日志分析(示例代码)

find . -type f | xargs wc -l

仅获取当个文件行数

cat tcpSocketSer.py | wc -l

仅获取所有文件的总行数

find . -type f -exec wc -l {} \; | awk ‘{sum+=$1}END{print sum}‘

二、awk命令

6、将某一列的值累加

cat flowgw_billing.log.201512 | awk ‘{sum +=$5} END {print sum}‘

7、更改文件列顺序

cat daily_partner_bill.log.20150806 | awk ‘{print $4"\t"$1"\t"$2"\t"$3}‘ > test2;mv test2 daily_partner_bill.log.20150806

比较笨拙的做法,暂时想不到其他的了。

8、指定列条件并累加

cat 201507.log | awk ‘$2=="hengDa" {sum +=$4} END {print sum}‘

指定条件分开累计

cat 201511.log | awk ‘$3=="selectName" {a[$2]+=$5;} END {for(i in a) print i,a[i]}‘

9、分运营商初步统计

cat 201511??.log |awk ‘$3=="selectName" {a[$2]+=$5;} END {for(i in a) print i,a[i]}‘ |awk --re-interval ‘{if($1 ~/(133|153|180|181|189|177)[0-9]{8}/) print "CTCC",$1,$2;\

else if($1 ~/(134|135|136|137|138|139|150|151|152|158|159|182|183|184|157|187|188|147|178)[0-9]{8}/) print "CMCC",$1,$2;else if($1 ~/(130|131|132|155|156|145|176|185|186|175)[0-9]{8}/) print "CUCC",$1,$2;else print "None",$1,$2}END{}‘

三、压缩文件

10、不解压查询压缩文件列表

gzip -dc fff.tar.gz | tar tvf -

如果压缩文件内带有文件夹则不行

11、不解压查看文件内容

zcat fff.tar.gz | cut -f 2-12

输入内容会附带文件属性信息,可以用cut -f 按字段截取部分想要的

12、查询已打包文件内容

zcat *201504_30*.log | grep --binary-files=text 15360436158 | cut -f 2-11

若需要匹配文件复杂,可以使用find命令衔接

find . -type f -name "201504_30" | xargs zcat {} \; | grep --binary-files=text "15360436158"

13、将当前文件夹所有压缩文件解压,并删除原文件

for tar in *.tar.gz; do tar xvf $tar; done

find ./ -name "*.gz" | xargs rm -rf

四、排序去重

由于uniq只是针对相邻行去重,所以通常和sort配合使用。

sort参数简要说明

-n 按数值-k 2按第二列-r 反序-t: 以冒号分隔

uniq参数简要说明

-i  忽略大小写字符的不同-c  进行计数-u  只显示唯一的行-d  仅显示存在重复的行

14、查询累计用户数(每条记录包含一个电话号码)

cat 201?????.log | cut -f 1 | sort | uniq | wc -l

15、查询非电信累计用户数(添加正则匹配条件)

cat 201?????.log | cut -f 1 | sort | uniq | egrep -v ‘^1(33|53|77|8[019]|700).{7,8}$‘ | wc -l

五、文件合并

行合并

cat file1 file2

列合并

paste file1 file2

取文件交集

cat file1 file2 | sort | uniq -d

取文件并集

cat file1 file2 | sort | uniq

六、其他

16、查询进程是否存在

ps -ef | grep test.py | grep -v grep

grep本身存在一进程,容易误导

查询并杀死进程

ps -ef | grep test.py| grep -v grep | awk ‘{print $2}‘ | xargs kill -9

17、查询端口占用情况

lsof -i:65432

18、查找文件并打包,以当前时间命名

find ./ -name "*log"| xargs tar -zvcf logs.`date +%Y-%m-%d`

其中,`date +%Y-%m-%d-%H%M%S`为可嵌入命令时间格式

19、在后台运行程序

nohup python test.py &

这种方式运行不稳定,可以使用Linux下的脚本管理工具supervior来统一管理。

20、标准输出和标准错误输出

find ./ -name *.log >& all_result

21、启动简易http服务器,实现简单的文件访问

$ python -m SimpleHTTPServer 8080

在你想要启用访问的目录下执行

22、格式化json

我们经常需要用curl访问一个已存在的接口,但是返回结果不易查看,可以简单格式化

cat jsonString | python -mjson.tool

LINUX学习参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值