Skip to content
KleindevopsPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Kleindevops 2025

极简 · 干净 · 零依赖 · 本地运维脚本菜单框架,

全部使用grok来完成

核心定位

把你日常写的几十上百个小运维脚本(查看信息、换源、优化、压测、改主机名……)全部收进一个统一菜单,几秒启动,用完自动清理,永不留痕。

主要特点

特性 说明
极简到极致 核心只有 4 个文件,总代码 < 300 行
完全本地运行 不联网、不上传数据、退出自动清理
智能多系统兼容 一份脚本支持 Ubuntu、Debian、CentOS、Rocky……只需改第 3 行标签
自动生成分类菜单 脚本第 2 行写分类,第 4 行写描述,菜单全自动生成
实时系统状态栏 每次打开菜单都实时刷新时间、IP、负载、内存等信息
统一 q 退出体验 一级菜单 q → 彻底清理退出
二级菜单 q → 返回主菜单
运行时临时目录 脚本复制到 ./Ubuntu_24.04/ 等目录,退出自动 rm -rf
职责分离清晰 main.sh → 拷贝 → 菜单 → 系统信息,各自独立,改起来丝滑

目录结构

linux-tools-framework/
├── main.sh                  # 一键启动入口
├── Lib/
│   ├── copy_template.sh     # 按规则拷贝脚本到临时目录
│   └── menu_engine.sh       # 纯菜单引擎(一级+二级)
├── SysInfo/
│   └── show.sh              # 美化实时系统信息
└── Template/                # 所有功能脚本都扔这里
    ├── OS_info.sh
    ├── 一键换源.sh
    ├── 系统优化.sh
    └── ...

Template/OS_INFO.SH

#!/bin/bash
# 系统工具                # ← 第2行:分类名 → 决定一级菜单显示的分类
# default                  # ← 第3行:兼容标签
#                          #     写 default    → 全部系统可用
#                          #     写 Ubuntu_24.04 → 也可以写Centos
# 一键查看详细系统信息     # ← 第4行:菜单描述 → 二级菜单里显示的文字

# ──────────────────────────────────────────────────────────────
# ↓ 从这里开始写你原来的任意脚本内容,随便怎么写都行
clear
echo "=============== 系统详细信息 ==============="
hostnamectl || cat /etc/os-release
echo -e "\n内存使用情况:"
free -h
echo -e "\n磁盘使用情况:"
df -h
echo "============================================"
read -n1 -p "按任意键返回..."

各脚本逻辑与执行流程

脚本文件 作用与完整执行流程
main.sh 框架总入口(极简初始化)
1. 获取框架所在目录 $DIR
2. 开场调用 SysInfo/show.sh 显示欢迎信息
3. 读取 /etc/os-release 自动识别系统 → 生成 SYS_DIR=Ubuntu_24.04 等
4. 创建并清理临时目录 ./$SYS_DIR/(如 ./Ubuntu_24.04/)
5. 检查 Template/ 是否为空
6. source Lib/copy_template.sh 执行脚本过滤复制
7. source Lib/menu_engine.sh 并进入无限循环调用 show_main_menu
Lib/copy_template.sh 核心兼容性过滤与复制模块
1. 遍历 Template/*.sh
2. 读取第2行 → 分类名
3. 读取第3行 → 兼容标签(自动 trim)
4. 仅当标签为 default 或 完全等于 $SYS_DIR 时才复制
5. 按分类创建目录并复制 → 生成 ./Ubuntu_24.04/系统工具/OS_info.sh 结构
Lib/menu_engine.sh 纯菜单引擎(所有交互逻辑)
一级菜单
• 清屏 + 标题 + 实时调用 SysInfo/show.sh
• 扫描临时目录子文件夹 → 生成分类列表并编号
• 输入数字进入分类
• 输入 q → 删除临时目录并彻底退出

二级菜单
• 显示分类标题
• 列出该分类下所有脚本(已排序)
• 第4行注释作为菜单描述,无则显示文件名
• 输入数字 → 执行脚本
• 输入 q → 返回一级菜单(不删除临时目录)
• 执行完自动暂停等待按键
SysInfo/show.sh 实时美化系统信息(每次菜单刷新都调用)
1. 读取 /etc/os-release 获取系统信息
2. 输出带黄色边框的艺术标题
3. 显示:时间、主机名、系统、内核、架构、主IP、用户、框架路径
4. 被 main.sh 和 menu_engine.sh 多次调用,保证信息永远最新
Template/任意脚本.sh 用户功能脚本(只需遵守前四行规范)
bash<br>#!/bin/bash<br># 分类名 # 第2行 → 一级菜单分类<br># default # 第3行 → default=全系统可用,或写具体如 Ubuntu_24.04<br># 菜单显示的文字 # 第4行 → 二级菜单描述<br>
第5行开始随意编写,框架只负责复制执行

执行时序图(文字版)

启动 → main.sh
   ↓
显示欢迎信息 (show.sh)
   ↓
识别系统 → 创建 ./Ubuntu_24.04/
   ↓
copy_template.sh → 过滤并复制符合条件的脚本
   ↓
menu_engine.sh → 进入主循环
   ├─→ 每次循环:show.sh(实时信息)→ 显示一级分类 → 等待输入
   │       ↓ 选择分类
   │       → 显示二级脚本 → 等待输入
   │             ↓ 选择脚本 → 执行 → 暂停 → 返回二级菜单
   │             ↓ 输入 q → 返回一级菜单
   ↓ 一级菜单输入 q → rm -rf ./Ubuntu_24.04/ → 程序结束

真实执行效果(完整截图级演示)

══════════════ devops ══════════════
╔══════════════════════════════════════╗
║          当前系统环境信息            ║
╚══════════════════════════════════════╝

执行时间   : 2025-12-02 23:18:45
主机名     : vps-bobby
系统       : Ubuntu 24.04.1 LTS
内核       : 6.8.0-52-generic
架构       : x86_64
主IP       : 172.16.8.88
当前用户   : root
框架目录   : /root/linux-tools-framework

============================================
   1. 系统工具
   2. 网络诊断
   3. 性能优化
   4. 安全加固
   5. 一键维护
============================================
 请选择分类(q 退出并清理): 1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages