栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

喜提毕业大礼包—一线测试开发-面试准备之linux篇

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

喜提毕业大礼包—一线测试开发-面试准备之linux篇

一.查询日志常用,grep关键字

(如果接入了ELK,这part了解)**
1.查询关键字出现的字数
grep ‘要检索的关键字’ 日志文件 | wc -l

2.查询关键字的上下文,上下几行

grep -C n ‘要检索的关键字’ 日志文件
n是上下的行数
例如:检索关键字的上下6行
grep -C 6 ‘关键字’ 日志文件

3.关键字的前几行(before)
grep -B n ‘要检索的关键字’ 日志文件

4.关键字的后几行(after)

grep -A n '要检索的关键字'  日志文件

5.查看实时日志文件
cat 日志文件 | tail -f

6.tail和head的详解
tail 是指定行数到尾行
例如:查看最后100行
cat 日志文件 | tail -100

head是从开头到指定行数
例如:查看文件开始100行
cat 日志文件 | head -100

sed命令查看指定行数

sed -n ‘开始行数,结束行数p’ 文件名

7.查询某个时间段的日志
cat xxx.log | sed -n ‘/2021-10-10 20:11/,/2020-08-19 23:15/p’
8.按照分钟查看
grep ‘2019-03-02 11:4[1-2]’ xxx.log
解释方括号内的时间范围可以更改


面试题来喽

1.统计⽂件中出现次数最多的前10个单词
sort a.txt | uniq -c | sort -k 1 | sort -r |head -10
解释:
第一步:sort a.txt ——》》》》第一步把a文件排序,
第二步:uniq -c, ——》》》》 统计次数
第三步: sort -k 1,——》》》》按照栏1 排序(第一栏现在是统计的次数)
第四步 sort -r,——》》》》倒序
第五步 取前十行

为什么需要倒顺序呢,因为uniq -c,统计完的数据是从小到大排序的

如图所示:

二.文件去重,以及awk的实战经验

1.两个非常相似文件,需要找出不同。
比如,在测试环境改了代码。测试过程需要对比测试环境和线上真实环境的文件
1.1简单对比不同,中心思想是【合并两个文件,进行排序,挑选出唯一的数据】需要使用sort将两个文件进行排序,uniq挑选唯一数据。

sort demo1.txt demo2.txt | uniq -d

uniq -d:重复项 (repeated)
uniq -n:仅出现一次的 (unique)
sort -m demo1.txt demo2.txt > merge.txt(这个命令可以合并两个文件到 新的文件中)

1.2需要准确知道哪个文件的哪一行和另外一个文件不同
标记出哪个文件的哪一行 和另一个文件不一致。中心思想,把两个文件合并成一个,每个文件多出一列用来标识它们的行数。通过行数来区分是哪一个文件

awk '{print NR , $0}' demo.txt demo1.txt |   sort -k2  |  uniq -d -f 1

解释:awk这段的意思 就是在每个文件第一栏标记文件的行数

1.3 awk应用场景

1.3.1需要准确分割日志文件的某一列

awk -F ‘分隔符’ ‘{print $1}’
解释:-F 后边是按照什么分割,print $n 的意思是打印 以分隔符 分割的第几位

1.3.2 需要精准分割 提取日志文件
awk -F '分隔符 ’ ‘{split($1,a,“,”); split($2,b,“,”); print a[1],b[24]}’
awk -F ‘|’ ‘{print $9"?"$10}’ | sed “s#\#&#g” > xx.log

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号