JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Linux 三剑客 linux三剑客命令详解

wys521 2024-10-20 11:32:13 精选教程 67 ℃ 0 评论

Java识堂,一个高原创,高收藏,有干货的微信公众号,欢迎关注

环境

  • windows git bash
  • mac iterm term
  • 用自己的帐号登录 ssh 手机号码后8位 @ shell.testing-studio .com
  • 没有账号的可以临时用 ssh hogwarts2019@shell.testing-studio.com
  • /tmp/nginx.log 保存了一份一天的nginx访问log

Linux三剑客介绍

Grep

ps -ef | grep bash
echo "ABC" | grep -i abc
ps -ef | grep bash | grep -v grep
echo "1234 7654" | grep -o "[0-9]4" 
echo "1234 7654" | grep -oE "[0-9]4|76"

测试题

  • 找出nginx.log中所有404和503报错的log数据,取出前3条数据,把命令贴到回复里
  • 找出testerhome首页的所有http和https的链接

awk

ps | awk 'BEGIN{print "start"}{print $0}END{print "end"}'
awk '/ 404 | 500 /' /tmp/nginx.log
echo '1
2
3
4
5' | awk '/2/,/4/'
echo '1
2
3
4
5' | awk '$0>3'
ps | awk 'NR>1'
ps | awk '{print $NF}'
echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | grep -v "^$" | awk 'BEGIN{FS="\n";ORS=":"}{print $0}END{printf "\n" }'
echo '1,10
2,20
3,30' | awk 'BEGIN{a=0;FS=","}{a+=$2}END{print a,a/NR}'
awk 'BEGIN{print 33*20*76/200/3}'
echo "123|456_789" | awk 'BEGIN{FS="\\||_"}{print $2}'
echo "123|456_789" | awk "BEGIN{FS=\"\\\\||_\"}{print \$2}" #尽量使用单引号

测试题

  • 找出404和500的数据,只打印状态码这一列,然后排序去重。把命令贴到回复里
  • 去testerhome首页找到所有的http的连接,然后打印不带http的纯域名部分

sed

pattern表达式

  • 20 30,35 行数与行数范围
  • /pattern/ 正则匹配
  • //,// 正则匹配的区间

action

  • d 删除
  • p 打印,通畅结合-n参数
  • s/REGEXP/REPLACEMENT/[FLAGS]
  • 替换时引用 \1 \2 匹配的字段
ps | sed -n 1,3p
ps | sed 's/CMD/command/'
ps | sed -n '/ps/p'
echo '1
2
3
4
5' | sed -n '/3/,/4/p'
echo '1
2
3
4
5' | sed '/3/,/4/d'
ps | sed -e 's/CMD/command/' -e 's#00#20#g'

测试题

  • 对所有404 500 的数据,统计出现这种状态码的url,需要对url汇总(汇总相似的url,把相同的资源但是变化的id去掉)去重,打印前5个出问题的路径,把命令贴到回复里

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表