优秀的编程知识分享平台

网站首页 > 技术文章 正文

100个经典实用的shell脚本,可自由复制,拿来即用建议收藏

nanyue 2025-03-01 14:52:59 技术文章 7 ℃

Shell作为一种命令语言和程序设计语言,其优势显而易见,shell脚本的优势在于它能实现自动化运维,能提高运维效率,帮助运维人员摆脱繁杂的操作,让运维工作变得得心应手。

今天分享一份shell脚本100例,包含常用的shell脚本知识点,从脚本编程的常见工具用法到实用技能,讲解十分细致,可自由复制,拿来练习,对于提高实操技能有很大的帮助,建议收藏!

【文章末尾有领取方式!】

【文章末尾有领取方式!】

内容展示

一键部署LNMP(RPM包版本)

#!/bin/bash
#使用 yum 安装部署 LNMP,需要提前配置好 yum 源,否则该脚本会失败
#本脚本使用于 centos7.2 或 RHEL7.2
yum?‐y install httpd
yum?‐y install mariadb mariadb‐devel mariadb‐server
yum?‐y install php??php‐mysql
systemctl start httpd mariadb
systemctl enable httpd mariadb

编写脚本测试192.168.4.0/24整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for版本)

#!/bin/bash
for??i??in???{1..254}
do
??????????ping?‐c2?‐i0.3?‐W1 192.168.4.$i??&>/dev/null
?????????if??[ $? –eq 0 ];then
???????????????echo "192.168.4.$i is up"
?????????else
???????????????echo??"192.168.4.$i is down"
?????????fi
done

使用死循环实时显示ethn0网卡发送的数据包流量

#!/bin/bash
while :
do
??????????echo??'本地网卡 eth0 流量信息如下: '
??????????ifconfig??eth0???|??grep "RX pack"??| awk??'{print $5}'
??????????ifconfig??eth0???|??grep "TX pack"??| awk??'{print $5}'
??????????sleep 1
done

编写批量修改扩展名脚本,如批量将txt文件修改为doc文件

#!/bin/bash
#执行脚本时,需要给脚本添加位置参数
#脚本名??txt???doc(可以将 txt 的扩展名修改为 doc) #脚本名??doc??jpg(可以将 doc 的扩展名修改为 jpg)
for??i???in???"ls *.$1"
do
????????mv??$i????${i%.*}.$2
done

统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个

#!/bin/bash
#awk 使用‐F 选项指定文件内容的分隔符是/或者: #条件判断$7:$8 大于等于 13:30,并且要求,$7:$8 小于等于 14:30
#最后使用 wc?‐l 统计这样的数据有多少行,即多少个
awk?‐F "[ /:]" '$7":"$8>="13:30" && $7":"$8<="14:30"' /var/log/httpd/access_log |wc?‐l

检测 MySQL 服务是否存活

#!/bin/bash
#host 为你需要检测的 MySQL 主机的 IP 地址,user 为 MySQL 账户名,passwd 为密码
#这些信息需要根据实际情况修改后方可使用
host=127.0.0.1
user=root
passwd=123456
mysqladmin?‐h 127.0.0.1?‐u root?‐p'$passwd'??ping??&>/dev/null
if??[??$???‐eq??0??];then
???????echo??"MySQL is UP"
else
???????echo??"MySQL is down"
fi

Shell是用户使用Linux的桥梁,任何一家it大厂,掌握Linux是基本技能,学好shell脚本也是it人的i必修课。这份shell脚本经典100例,建议大家收藏学习,必对你学好shell有所帮助。

【资料领取见下图!】

最近发表
标签列表