diff --git a/MD/centos.sh b/MD/centos.sh index 5d0e898..9170e7c 100644 --- a/MD/centos.sh +++ b/MD/centos.sh @@ -9,8 +9,13 @@ list() { echo "2. 关闭防火墙" echo "3. 时间同步" echo "4. 创建用户" - echo "5. 安装常用软件" - echo "6. 退出" + echo "5. 删除用户" + echo "6. 安装常用软件" + echo "7. 内存使用情况" + echo "8. 磁盘使用情况" + echo "9. 服务器信息" + echo "10 CPU使用情况" + echo "11. 退出" echo "--------------------------------------" } @@ -66,6 +71,24 @@ user() { fi fi } +delete_user() { + read -p "请输入要删除的用户名:" name + + # 检查用户是否存在 + if id "$name" &>/dev/null; then + # 删除用户及其主目录和邮件池 + userdel -r "$name" + if [ $? -eq 0 ]; then + # 如果用户删除成功,尝试从记录文件中移除该用户的密码信息 + sed -i "/^用户名:$name,/d" /opt/user.txt + echo "用户 $name 已成功删除。" + else + echo "用户删除失败,请检查系统配置。" + fi + else + echo "用户 $name 不存在,无需删除。" + fi +} # 安装常用软件 anzhuang() { @@ -76,18 +99,63 @@ anzhuang() { echo "软件安装失败,请检查 YUM 源配置。" fi } +mem() { + mem_total=$(free -m | awk 'NR==2 {print $2}') + mem_used=$(free -m | awk 'NR==2 {print $3}') + mem_free=$(free -m | awk 'NR==2 {print $4}') + mem_cache=$(free -m | awk 'NR==2 {print $6}') + mem_s=$((mem_used * 100 / mem_total)) + mem_f=$((100 - mem_s)) + echo "内存的使用率:$mem_s%" + echo "内存的总量: $mem_total MB" + echo "内存的空闲率: $mem_f%" + echo "内存的缓存量: $mem_cache MB" + echo "内存的空闲量: $mem_free MB" +} +disk() { + read -p "请输入分区名称:" name + case $name in + "/") + df -Th | awk 'NR==2 {print "总量:"$3,"使用:"$4,"空闲:"$5}' + ;; + "/boot") + df -Th | awk 'NR==7 {print "总量:"$3,"使用:"$4,"空闲:"$5}' + ;; + *) + echo "无效的分区名称" + ;; + esac +} +system_info() { + cat /etc/redhat-release | awk '{print "系统版本号:"$4}' + echo "内核版本为:`uname -r`" + ip a | grep "2:" | awk -F: '{print "网卡名称:"$2}' + ip a | grep "inet " | awk '{print $2}' | awk -F "/" '{print "IP地址是:"$1}' +} +cpu_info() { + w | awk -F: 'NR==1 {print "CPU的平均负载:"$NF}' + vmstat | awk 'NR==3 {print "CPU空闲率:"$(NF-2)}' + cpu_id=$(vmstat | awk 'NR==3 {print $(NF-2)}') + cpu_free=$((100 - cpu_id)) + echo "CPU使用率: $cpu_free%" +} # 主循环 while true; do list - read -p "请输入您的选项(1-6):" num + read -p "请输入您的选项(1-11):" num case $num in 1) yuan; sleep 2 ;; 2) fire; sleep 2 ;; 3) timed; sleep 2 ;; 4) user; sleep 2 ;; - 5) anzhuang; sleep 2 ;; - 6) echo "退出工具箱,感谢使用!"; exit ;; + 5) delete_user;sleep 2;; + 6) anzhuang; sleep 2 ;; + 7) mem; sleep 2;; + 8) disk; sleep 2;; + 9) system_info; sleep 2;; + 10)cpu_info; sleep 2;; + 11) echo "退出工具箱,感谢使用!"; exit ;; *) echo "输入无效,请输入数字 1-6 选择功能。"; sleep 2 ;; esac -done +done \ No newline at end of file