Shell脚本实战:三个运维场景案例(批量创建用户、磁盘监控、日志清理)
Shell脚本实战三个运维场景案例一、批量创建用户脚本应用场景公司新入职10个员工需要批量创建Linux用户账号并设置初始密码。准备工作创建用户列表文件users.txt每行格式为用户名:密码user01:Pass123 user02:Pass123 user03:Pass123脚本代码#!/bin/bash# 批量创建用户脚本whilereadline;dousername$(echo$line|cut-d:-f1)password$(echo$line|cut-d:-f2)# 创建用户useradd$usernameif[$?-eq0];then# 设置密码echo$password|passwd--stdin$usernameecho用户$username创建成功elseecho用户$username创建失败fidoneusers.txt核心知识点while read循环读取文件cut -d: -f1按冒号分割取第一列$?判断上一条命令执行结果0成功非0失败passwd --stdin从标准输入读取密码 users.txt重定向文件内容到循环二、磁盘监控脚本应用场景监控服务器磁盘使用率超过80%警告超过90%严重警告。脚本代码#!/bin/bash# 磁盘监控脚本# 获取根分区使用率DF$(df-h|grep/$|awk{print $5}|seds/%//g)if[$DF-ge90];thenecho警告磁盘占用率已达${DF}%请立即清理elif[$DF-ge80];thenecho警告磁盘占用率已达${DF}%注意清理elseecho磁盘占用率为${DF}%环境正常fi核心知识点df -h查看磁盘使用情况人类可读格式grep /$筛选根分区以/结尾的行awk {print $5}提取第5列使用率sed s/%//g去掉百分号if-elif-else多条件判断-ge大于等于-gt严格大于注意事项如果要监控所有分区去掉grep /$可以配合 cron 定时任务实现自动监控三、日志清理脚本应用场景自动清理系统中超过7天的旧日志文件释放磁盘空间。脚本代码#!/bin/bash# 日志清理脚本# 统计要删除的文件数量COUNT$(find/var/log-name*.log-mtime7|wc-l)if[$COUNT-gt0];thenecho发现${COUNT}个超过7天的日志文件# 执行删除find/var/log-name*.log-mtime7-deleteecho已清理${COUNT}个日志文件elseecho没有需要清理的日志文件fi核心知识点find 路径 -name *.log查找所有 .log 文件-mtime 7修改时间超过7天| wc -l统计行数文件数量find ... -delete删除找到的文件${变量}引用变量值注意事项删除前先统计数量避免误删测试时先去掉-delete只查看会删除哪些文件操作/var/log需要sudo权限可以修改-mtime 7调整保留天数知识点总结Shell脚本基础脚本开头必须写#!/bin/bash变量赋值不加空格VARvalue使用变量加$符号$VAR或${VAR}条件判断数字比较-eq(等于)-ne(不等于)-gt(大于)-ge(大于等于)-lt(小于)-le(小于等于)字符串比较(相等)!(不等)-z(为空)-n(非空)文件判断-e(存在)-f(普通文件)-d(目录)-r(可读)-w(可写)-x(可执行)常用命令组合awk提取列awk {print $N}sed替换sed s/旧/新/ggrep过滤grep 关键词cut分割cut -d分隔符 -fNwc -l统计行数

相关新闻

【地震】基于5自由度多层结构在地震激发下采用模态分析、阻尼建模和El-Centro地动的动态模拟Matlab实现

【地震】基于5自由度多层结构在地震激发下采用模态分析、阻尼建模和El-Centro地动的动态模拟Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。🍎 往期回顾关注个人主页:完整代码获取 定制创新 论文复现私信🍊个人信条:做科研&#xff0c…

2026/10/7 8:06:01 阅读更多 →
使用 semgrep 检测 AndroidManifest 中的 debuggable 标志:MASTG-DEMO-0040 实战解析

使用 semgrep 检测 AndroidManifest 中的 debuggable 标志:MASTG-DEMO-0040 实战解析

文档教程网络安全 【免费下载链接】mastg The OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security W…

2026/10/7 8:06:01 阅读更多 →
2026年GEO源码搭建实战常见问题与踩坑汇总 环境配置依赖兼容及部署运维详细避坑指南

2026年GEO源码搭建实战常见问题与踩坑汇总 环境配置依赖兼容及部署运维详细避坑指南

做GEO地理信息系统源码搭建快5年,从最早手动编译各个GIS模块,到现在标准化的部署方案,见过太多开发者在环境配置、依赖兼容上反复踩坑。尤其是2026年主流GEO框架和底层依赖都完成了大版本迭代,网上不少三四年前的老教程已经完全失…

2026/10/7 8:06:01 阅读更多 →

最新新闻

VOC转YOLO实战:110张图训练YOLOv8皮带异物检测模型

VOC转YOLO实战:110张图训练YOLOv8皮带异物检测模型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:06:53 阅读更多 →
Python学生信息管理系统实战:Flask+SQLite工程化落地指南

Python学生信息管理系统实战:Flask+SQLite工程化落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:06:52 阅读更多 →
最短路是动态规划的入门锚点:从Bellman-Ford到硬币找零的思维迁移

最短路是动态规划的入门锚点:从Bellman-Ford到硬币找零的思维迁移

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:06:52 阅读更多 →
SAP物料主数据同步实战:ERP集成、增量识别与对账

SAP物料主数据同步实战:ERP集成、增量识别与对账

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:06:52 阅读更多 →
完整IC设计流程与Makefile:从RTL到流片的工程化实践

完整IC设计流程与Makefile:从RTL到流片的工程化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:06:52 阅读更多 →
射频通信基础实战指南:从S参数到链路预算的工程核心

射频通信基础实战指南:从S参数到链路预算的工程核心

做射频调试这些年,我最大的感受是:射频通信基础这门课,学校教的和工程上用的,中间隔着一道很深的沟。书本上讲麦克斯韦方程组、讲电磁波传播,但实际调试时你面对的是S参数、是阻抗匹配、是屏蔽罩谐振这种能把人逼疯的细…

2026/10/7 9:05:52 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 6:26:51 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →