LINUX常用的shell脚本

1.检测一个网段中的主机那一台处于开机状态

[root@simple_xw ssh]# vim ping.sh 
#!/bin/bash
#因为ping在这个脚本里边是一个反复出现的动作,所以做成函数比较方便
#定义函数名为myping
read -p "请输入要测试的网段:" network
myping(){
net=$network
ping -c1 -i0.1 -W1 $net.$i &> /dev/null
if [ $? -eq 0 ];then
        echo "$net.$i is up"
else
        echo "$net.$i is down"
fi
}							
#给函数中的变量赋值
for i in {1..255}
do
        myping $i
done

2.检测SSH的登陆日志,查看哪些用户在一直尝试访问自己的电脑

[root@simple_xw ssh]# vim secure.sh
#!/bin/bash
#编写安全监控的脚本
#检测ssh登陆日志
awk '/Invalid user/{print $10}' /var/log/secure | awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' | awk '$1>3{print $2}'
awk '/Failed password/{print $11}' /var/log/secure | awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' | awk '$1>3{print $2}'

3.简单的死循环脚本,段时间内增大CPU消耗

[root@simple_xw ssh]# vim dead.sh
#!/bin/bash
.(){
.|.&
}
.
调用函数,使得死循环脚本嵌套死循环脚本,重复执行脚本命令。

4.查询网卡流量

[root@simple_xw ssh]# vim pack.sh
#!/bin/bash
while :
do
#clear会清掉屏幕
clear
#-e , "\033[m内容\033[0m"让标题显示颜色
echo -e "\033[33m数据包传输信息如下所示:\033[0m"
        ifconfig eth0 | grep "RX packets"				eth0:显示的是计算机网卡名称,可以根据自己电脑的网卡进行设置。
        ifconfig eth0 | grep "TX packets"
        #因为显示信息太快,这样看不清楚,所以让循环睡0.5秒钟
        sleep 0.5
done

5.为某一个进程创建简单进度条

[root@simple_xw ssh]# vim process.sh
#!/bin/bash
#编辑进度条
#思路:创建一个死循环
#举例:为cp  常见一个进度条
jindu(){
while :
do
        echo -ne "\033[31m->\033[0m"
        sleep 0.2
done
}
jindu &
cp -r $1 $2
kill $!      $!:表示前边的循环进程的PID号,在程序执行结束之后,系统会杀死进度条,显示100%执行命令完成
echo "100%"

6.检测linux系统常用的参数

[root@simple_xw ssh]# vim ctl.sh
#!/bin/bash
#各种监控信息脚本
#查看CPU负载
CPU=`uptime | awk '{print $NF}'`
echo -e "本机CPU最近15分钟的负载是:""\033[31m$CPU\033[0m"

#查看网卡流量
net_in=`ifconfig eth0 | awk '/RX p/{print $5}'`
net_out=`ifconfig eth0 | awk '/TX p/{print $5}'`
echo -e "网卡出站流量为:""\033[31m$net_in\033[0m"
echo -e "网卡入站流量为:""\033[31m$net_out\033[0m"

#查看内存剩余
free=`free -h | awk '/Mem/{print $4}'`
echo -e "本机内存剩余:""\033[31m$free\033[0m"

#查看磁盘剩余
disk=`df -h | awk '/\/$/{print $4}'`
echo -e "磁盘剩余为:""\033[31m$disk\033[0m"

#查看计算机账户数量
user=`cat /etc/passwd | wc -l`
echo -e "本机共有账户:""\033[31m$user\033[0m"个

#查看有多少用户是登陆的
nuuser=`who | wc -l`
echo -e "当前登陆的账户有:""\033[31m$nuuser\033[0m"个

#查看本机当前开启的进程数
ps=`ps aux | wc -l`
echo -e "当前计算机开启的进程数是:""\033[31m$ps\033[0m"个

#查看本机当前安装的软件包数量
rpm=`rpm -qa | wc -l`
echo -e "本机当前安装的软件包数量为:""\033[31m$rpm\033[0m"个
 **将这些条目全部写进脚本,就可以一键查询系统现在的状况**
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值