shell的一些应用场景

列出每个IP的连接数

netstat -n | awk ‘/^tcp/{print $5}‘ | awk -F: ‘!/^::/{print $1}‘ | sort | uniq -c | sort -rn | awk ‘BEGIN{printf "%-10s%s\n","ConNum","IP"}{printf "%-10s%s\n",$1,$2}‘

命令解释:

  • netstat -n  拒绝显示别名,能显示数字的全部转化成数字;
  • awk ‘/^tcp/{print $5}‘  打印以tcp开头行的第5列;
  • awk -F: ‘!/^::/{print $1}‘  以冒号作为分隔符,且去掉”::“,并打印第一列;
  • uniq -c  在输出行前面加上每行在输入文件中出现的次数;
  • sort -rn  逆序,以数值来排序;
  • awk ‘BEGIN{printf "%-10s%s\n","ConNum","IP"}{printf "%-10s%s\n",$1,$2}‘ 开头增加一行ConNum    IP,"-"左对齐,"10s"字符串占用10列

列出日志中访问量最高的前10个IP

cat $access_file | awk ‘{print $1}‘ | sort |uniq -c | sort -rn | head -n 10

命令解释:

  • uniq -c 在输出行前面加上每行在输入文件中出现的次数;
  • sort -rn 逆序,以数值来排序;
  • head -n 10 前10行;
时间: 2024-07-30 21:23:50

shell的一些应用场景的相关文章

shell脚本规范与变量运用

前言随着Linux系统在企业中应用的越来越多,服务器自动化管理也变得越来越重要.Linux服务器自动化维护工作中,除了计划任务的设置外,shell脚本的应用也是非常重要的一部分.什么是shell脚本Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令.shell脚本的应用场景:

ssh连接远程主机执行脚本的环境变量问题

用ssh命令ssh [email protected] "/web/tomcat-7000/bin/startup.sh" 登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题:tomcat服务不能启动 Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these environment variable is needed to run this progr

Perl进度条实现

#安装:sudo perl -MCPAN -e shellinstall Term::ProgressBar #场景:假设有200个url需要爬虫,每个url的抓取速度是不一样的,完成第1-2个url的爬虫完成后,进度条显示1%.当然进度条的count设置为200的前提下. #! /usr/bin/perluse Term::ProgressBar 2.00;my $progress=Term::Progress->new({name=>"爬虫进度",count=>2

函数基本概述

目录 1. 函数基本概述 2. 函数基本使用 方式一 方式二 3. 函数参数传递 4. 函数状态返回 5. 函数场景示例 4.关闭selinux 5.关闭firewalld 6.配置sshd服务 7.加大文件描述符 8.时间同步 1. 函数基本概述 01. 什么是函数? ? 函数其实就是一堆命令的合集,用来完成特定功能的代码块,你可以对它进行自定义命令,并且可以在脚本中任意位置使用这个函数,要使用定义的函数,只需要填写函数名称就可以了. 02. 函数的作用 1.使用函数可以让代码模块化,便于代码

渗透学习笔记--场景篇--通过mysql的root账号来get shell

场景介绍:         今天的场景是前一周在内网渗透的时候遇到过的,找到一个mysql数据库弱口令.     账号和密码分别是root,也就是mysql中的dba.     这里其实权限很大了,首先mysql的root用户具有文件写权限,同时mysql5.0以上,提供一个system函数,而这个函数通常被攻击者用作shell的接口.     那时在遇到这个弱口令时,我就在想怎样快速的拿下这台主机,通过mysql的root账号.是否有比较快速的方法,这时候,我当然想到了sqlmap.经过查询g

老男孩教育每日一题:2017年3月9日-请解释下面Shell脚本中if开头的整行代码的意思及应用场景吗?

请解释下面Shell脚本中 if开头的整行代码的意思,你见过它的应用场景么? if(kill -0 $pid 2>/dev/du11) then     echo"oldboy" else    echo"oldgirl" fi 面试题:请解释if (kill -0 $pid 2>/dev/null)代码的意思? if(kill -0 $pid 2>/dev/null)     then        echo "oldboy"

【shell】两种字符串提取场景的实现

shell虽然比batch顺眼点儿,但还是老话,入门容易,精通难. 1.场景一是这样的,现有字符串的内容 name: tiger; age:18; location:china; 需求:提取每个属性的值,如age的值为18. 定义了一个函数如下: 1 function getValueOf(){ 2 val=$(cat $1 | grep -oP "(?<=$2)[^;]+" | sed "s/,//g" | sed 's/ //g'| tr -cd &quo

Linux Shell 中 &gt; 和 &gt;&gt; 的异同点和应用场景

Linux Shell 中 > 和 >> 的异同点和应用场景 > 和 >> 的异同点 举例说明(start.sh 为某个服务的启动脚本,start.log 为某服务的日志文件): nohup sh start.sh >/var/log/start.log & nohup sh start.sh >>/var/log/start.log & 1.相同点 上面两种写法,都是将服务的日志内容,输出到指定文件中. 当 /var/log/ 目录下

关于ansbile工具的shell、command、script、raw模块的区别和使用场景

之前一直误解为shell和command一样是执行远程命令的,最近看了一下官方帮助文档才发现,犯了低级错误,其实每个模块都有自己的应用常用:简单说明一下ansible几个常用模块的区别,以便自己总结. 1.模块命令详细信息查询 ansible-doc 模块名称 2.command模块 [执行远程命令] ansible client -m command -a "uname -n" -s 3.script模块 [在远程主机执行主控端的shell/python脚本] ansible cli