zoukankan      html  css  js  c++  java
  • LINUX项目实操练习

    练习1:

    1、提取 https://testing-studio.com/ 中的所有连接

    curl https://testing-studio.com | grep -oE "http[s]://[^ '"]*"
    正则解释:-o匹配出符合条件的内容 -E使用扩展 [s] 中括号表示范围 表示匹配http或者https [^ '"] 表示以空格 单引号或双引号结尾的(直到匹配到这三个中的字符 即结束)

    2、去掉链接中的数字,给出一个所有的不带数字的连接

    curl https://testing-studio.com | grep -oE "http[s]://[^ '"]*“ | sed -e's/[0-9]//g' -e's/%.*%.*//g'
    ‘s/[0-9]//g’  表示把0-9数字用空替换

    练习2:

    1、从shell服务器上的/tmp/nginx.log中找出所有404 500的报错数据,并去除其中的url
    ①找出所有404 500的报错数据

    awk '$9~/404/ || $9~/500/' /tmp/nginx.log |less
    匹配log文件中第九列为404 或500的行
    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,
    只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,
    不止可以向下搜,也可以向上搜。
    更多:https://www.cnblogs.com/peida/archive/2012/11/05/2754477.html

    ②去除其中的url

    awk '$9~/404/ || $9~/500/' /tmp/nginx.log | sed 's/"GET.*HTTP/[0-9].[0-9]"//g'

    练习3:

    1、找出访问量最高的ip

    awk '{print $1}' /tmp/nginx.log |sort |uniq -c | sort -n |tail -10
    筛选出log日志中的第一列$1 ip
    sort 它将文件进行排序,并将排序结果标准输出
    sort(选项)(参数)
    -n:依照数值的大小排序;
    -r:以相反的顺序来排序;
    -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
    uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
    uniq(选项)(参数)

    -c或——count:在每列旁边显示该行重复出现的次数;
    -d或--repeated:仅显示重复出现的行列;

    练习4:

    1、找出访问量最高的页面,/topics/1234 topics/4567 视为一个页面

    awk '{print $7}' /tmp/nginx.log |sort | sed 's//[0-9].*//g' |uniq -c |sort -n | tail -1

    练习5:

    提取 https://testing-studio.com/ 中的所有链接
    找出不能被访问的连接(已完成)
    封装为函数,传入一个网站,自动检查这个网站上的链接(已完成)

    #设计一个函数,传入一个字符串或文件 根据判断其中的链接返回code码,找出其中的错误链接
    #!/bin/bash
    #author:Frank
    findFailedUrl(){
    urls=$(curl $1 | grep -o -E "http[s]*://[^ ?'"]*" | uniq -c);
    for url in $urls;do
    code=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $url);
    if ((${code}>=400));then echo "${url}访问失败!";fi
    done
    }
    findFailedUrl https://testing-studio.com
    #$(curl -I -m 10 -o /dev/null -s -w %{http_code} $url)
    #-I 仅测试HTTP头
    #-m 10 最多查询10s
    #-o /dev/null 屏蔽原有输出信息
    #-s silent 模式,不输出任何东西
    #-w %{http_code} 控制额外输出



  • 相关阅读:
    webrtc 手机端视频旋转
    gstreamer 命令行一些demo
    git一些命令记录
    libnice的问题记录
    webrtc ice 协商一些记录
    linux 挂在windows目录
    leetcode Permutation Sequence
    gstreamer 接收rtsp存储为h264
    uva 10285
    AndroidStudio VS Eclipse快捷键
  • 原文地址:https://www.cnblogs.com/1026164853qqcom/p/11120310.html
Copyright © 2011-2022 走看看