shell脚本 日常实用脚本总结

判断用户名文件的行数是否大于25,如果大于25,提示 row above 25.

[root@localhost ~]b=$(cat /etc/passwd|wc -l);if [ $b -gt 25 ];then echo "row above 25"; fi

截取系统一分钟的平均负载,只取整数部分

[root@localhost ~]uptime|awk '{printf $8}'|cut -c 1

统计连接状态 established 和 listen 的数量

[root@localhost ~]num_listen=netstat -anpt|grep "LISTEN"|wc -l
[root@localhost ~]num_established=netstat -anpt|grep "ESTABLISHED"|wc -l
[root@localhost ~]echo $num_listen
[root@localhost ~]echo $num_established

判断用户名文件是否是20行,如果是,输出ok

[root@localhost ~]test=$(cat find.sh|wc -l);if [ $test -eq 20 ];then echo "ok";fi

统计 logfile 中每个IP的访问量

[root@localhost ~]sort logfile |uniq -c

统计logfile中访问量超过15的IP

[root@localhost ~]sort logfile |uniq -c|awk '$1>=15{printf $1 "\t" $2 "\n"}'

统计所有进程占用的内存大小,并计算总和。

[root@localhost ~]ps aux|awk '{printf $1 "\t" $6 "\n"}'
[root@localhost ~]ps aux|awk '{sum+=$6} END {print "进程内存总和为",sum,"KB"}'

用户输入数字,如果输入的是非数字,提示 “Include nunumbers, retry please!”并结束,
如果是纯数字,返回数字结果。

#!/bin/bash
read -p "Please input a number:" num
test=$(echo $num|sed 's/[0-9]//g')
if [ -z $test ];then
   echo $num
else
   echo "Include nunumbers,retry please!"
   exit 1
fi

输入一个数字,运行对应的一个命令。

#!/bin/bash
PS3="Please select a number:"
select cmd in date ls who pwd exit
do 
   $cmd
done

提示用户输入网卡的名字,输出网卡的ip。

#!/bin/bash
read -p "Please input network name:" net
ip=$(ifconfig $net|grep "inet"|grep -v "inet6"|awk '{print $2}')
echo "The IP address of the network is $ip"

while 循环实现每隔 10s 执行一次 w 命令

[root@localhost ~]while true;do w;sleep 10;done

实现交换两个文件的文件名

#!/bin/bash
read -p "Please input first filename:" file1
read -p "Please input second filename:" file2

mv $file1 tmp
mv $file2 $file1
mv tmp $file2

统计文件中仅包含数字的行

#!/bin/bash
read -p "Please input filename path:" file
for i in $(cat $file)
do  
test=$(echo $i|sed 's/[0-9]//g')
    if [ -z $test ];then
      echo $i
    fi
done
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值