首页 > 系统相关 >Shell编程撰写Linux工具箱

Shell编程撰写Linux工具箱

时间:2024-09-06 16:49:35浏览次数:13  
标签:Shell read menu echo Linux 工具箱 main

在这里插入图片描述

创建一个Linux工具箱脚本可以帮助您快速执行常见的系统管理任务。以下是一个示例脚本,包含了一些常见的功能,如系统信息查看、磁盘使用情况检查、网络信息查看、进程管理等。

前言

在开发者的世界里,我们不断探索,不断创新。今天,我们携手赞助商浪浪云,向您致敬,同时以敬业的精神,推出一个新的挑战——《教你用Shell编程写一个Linux工具箱》教程!
在进行庆祝之前,我们必须先对我们的
赞助商
浪浪云,表示由衷的感谢。作为业内知名的云服务提供商,他们始终专注于为客户提供一流的服务。他们的弹性计算、云存储和网络服务,都反映出对全球用户服务的一丝不苟和以客户需求为导向的企业理念。
本次和浪浪云的合作,我们为您带来一份崭新的教程 - 如何使用Shell编程写一个Linux工具箱。这堂课将带领你从零开始,了解操作shell,一步步教你如何裁剪出一款专属的Linux工具箱,让日常运维工作变得更加轻松。
感谢浪浪云的全力支持,使得这次的教程得以顺利推出。我们期待你在这次的学习中收获知识的种子,种植在你职业发展的田野之中,最终结出丰满的硕果。
让我们在技术的公路上,一起驾驭浪浪云的动力, 在shell编程的征程上飞驰,为自动化运维注入新活力。再次感谢浪浪云,让我们有机会在云端展翅飞翔,开拓属于我们的技术天空。

工具箱脚本示例

#!/bin/bash

# 工具箱主菜单
function main_menu() {
    clear
    echo "=============================="
    echo "       Linux 工具箱"
    echo "=============================="
    echo "1. 系统信息"
    echo "2. 磁盘使用情况"
    echo "3. 网络信息"
    echo "4. 进程管理"
    echo "5. 内存使用情况"
    echo "6. 安装软件包"
    echo "7. 更新系统"
    echo "8. 退出"
    echo "=============================="
    read -p "请选择一个选项: " choice
    case $choice in
        1) system_info ;;
        2) disk_usage ;;
        3) network_info ;;
        4) process_management ;;
        5) memory_usage ;;
        6) install_package ;;
        7) update_system ;;
        8) exit 0 ;;
        *) echo "无效选项,请重试。" ; main_menu ;;
    esac
}

# 系统信息
function system_info() {
    clear
    echo "=============================="
    echo "       系统信息"
    echo "=============================="
    uname -a
    lsb_release -a
    echo "=============================="
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 磁盘使用情况
function disk_usage() {
    clear
    echo "=============================="
    echo "       磁盘使用情况"
    echo "=============================="
    df -h
    echo "=============================="
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 网络信息
function network_info() {
    clear
    echo "=============================="
    echo "       网络信息"
    echo "=============================="
    ip a
    echo "=============================="
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 进程管理
function process_management() {
    clear
    echo "=============================="
    echo "       进程管理"
    echo "=============================="
    ps aux
    echo "=============================="
    read -p "请输入要杀死的进程ID (或按Enter键返回主菜单): " pid
    if [ -n "$pid" ]; then
        kill -9 $pid
        echo "进程 $pid 已被杀死。"
    fi
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 内存使用情况
function memory_usage() {
    clear
    echo "=============================="
    echo "       内存使用情况"
    echo "=============================="
    free -h
    echo "=============================="
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 安装软件包
function install_package() {
    clear
    echo "=============================="
    echo "       安装软件包"
    echo "=============================="
    read -p "请输入要安装的软件包名称: " package
    sudo apt-get install -y $package
    echo "软件包 $package 已安装。"
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 更新系统
function update_system() {
    clear
    echo "=============================="
    echo "       更新系统"
    echo "=============================="
    sudo apt-get update && sudo apt-get upgrade -y
    echo "系统已更新。"
    read -p "按任意键返回主菜单..." key
    main_menu
}

# 启动工具箱
main_menu

使用说明

  1. 保存脚本
    将上述脚本保存为一个文件,例如toolbox.sh

  2. 赋予执行权限

    chmod +x toolbox.sh
    
  3. 运行脚本

    ./toolbox.sh
    

功能说明

  • 系统信息:显示系统的基本信息,包括内核版本和发行版信息。
  • 磁盘使用情况:显示磁盘的使用情况。
  • 网络信息:显示网络接口的信息。
  • 进程管理:显示当前运行的进程,并允许用户杀死指定的进程。
  • 内存使用情况:显示内存的使用情况。
  • 安装软件包:允许用户安装指定的软件包。
  • 更新系统:更新系统的软件包。

在这里插入图片描述
官网地址65折优惠地址:https://langlangy.cn/?i718f4f

这个脚本可以作为一个基础,您可以根据需要添加更多的功能和改进。如果有其他问题或需要进一步的帮助,请随时告诉我!
尊敬的读者,感谢您一直陪伴我们,共同学习了如何利用Shell编程来编写一个Linux工具箱。我们希望您能够真正掌握这些知识,并将其成功应用于您的实践项目中。
在这份教程中,我们一起探索了Shell编程的世界,了解了其强大的功能和灵活的应用。我们希望这次的学习对您有所帮助,让您能够在Linux环境中更加得心应手,提高您的工作效率。
我们想要特别感谢我们的赞助商浪浪云,为我们提供了力所能及的支持。他们的弹性计算、云存储、以及网络服务等卓越云服务,使得我们可以更好地专注于技术研究和分享知识。
再次感谢浪浪云的赞助,让我们有机会向大家介绍如何使用Shell编程写一个Linux工具箱。他们的支持使得我们有更多的动力和激情去探索和分享更多的技术知识。
希望在未来的日子里,我们可以继续一起学习,一起进步。再次感谢您的支持和参与,我们期待与您再度相见,在技术的道路上一起向前。在云端,有浪浪云,有你,有我,让我们一同奋斗,一起成长。

标签:Shell,read,menu,echo,Linux,工具箱,main
From: https://blog.csdn.net/qq_38162031/article/details/141952197

相关文章

  • ELK在Linux上部署教程
    DockerCompose搭建ELKElasticsearch默认使用mmapfs目录来存储索引。操作系统默认的mmap计数太低可能导致内存不足,我们可以使用下面这条命令来增加内存sysctl-wvm.max_map_count=262144创建Elasticsearch数据挂载路径mkdir-p/echola/elasticsearch/data对该路径......
  • linux脚本入门编写
    平时一些重复率比较高的linux命令可以写成脚本来操作这样会大大减少操作时间,提升工作效率#!/bin/bash#删除名为sdss-base-system的容器dockerrm-fsdss-base-system#删除名为sdss-base-system的镜像dockerrmisdss-base-system#使用当前目录的Dockerfi......
  • linux中安装mysql
    目录1,删除centos7自带的mariadb2,下载mysql3,安装4,修改密码5,远程登录1,删除centos7自带的mariadb查看是否有mariadbrpm-qa|grepmariadb删除rpm-e--nodepsmariadb-libs-5.5.68-1.el7.x86_64再看下没有输出,删除成功2,下载mysqlMySQL::Download......
  • 混合部署 | 在RK3568上同时部署RT-Thread和Linux系统-迅为电子
    RT-Thread是一个高安全性、实时性的操作系统,广泛应用于任务关键领域,例如电力、轨道交通、车载系统、工业控制和新能源等。它的加入让RK3568能够在保证系统实时性和安全性的同时,灵活处理复杂的任务场景。    在一般情况下,iTOP-RK3568的四个Cortex-A55核心通常运行Linux......
  • 【干货】Linux学习路线规划图谱(附常用命令速查表)
    许多朋友开始接触Linux,不知从何处开始学起。Linux学习的路线有一些参考,比如:掌握至少50个以上的常用命令,熟悉Linux文件系统和目录结构,等等。这里收集了几张关于Linux学习的路径及命令速查表...1、Linux学习路径:2、Linux桌面介绍:3、FHS(文件系统目录标准):4、Linux需要特别注意的目录:5......
  • 【Linux修行路】线程安全和死锁
    目录⛳️推荐一、线程安全1.1常见的线程不安全情况1.2常见的线程安全情况1.3常见的不可重入情况1.4常见可重入的情况1.5可重入与线程安全的联系1.6可重入与线程安全的区别二、死锁2.1死锁的四个必要条件2.2如何避免产生死锁?⛳️推荐前些天发现了一个巨牛......
  • jekins--- 通过jekins执行远程机器的shell脚本
    jekins和脚本部署的不是在同一个机器,简单的来说说如何用jekins通过SSH连接执行远程机器的shell脚本1:简单的看一下脚本的内容,自己写的一个简单的测试脚本,执行了就会打印一个脚本已执行成功在日志中#!/bin/bash#日志文件路径LOG_FILE="/dongguangshu/logfile.log"#要打印......
  • 如何从0基础开始学习Linux?
    Linux作为一种开源的操作系统,越来越受到IT行业的青睐,而且在服务器市场上,Linux系统因其稳定安全、免费开源和高效便捷等优点在市场占有率高达80%,因此吸引了一大波人前来学习。那么0基础学Linux培训难不难?以下是具体内容介绍。0基础学Linux培训难不难?对于零基础的初学......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版实现数据区域赋值并设置样式
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如......
  • Linux内核文件系统
    建议点击这里查看个人主页上的最新原文作者:陈孝松主页:chenxiaosong.com哔哩哔哩:陈孝松课程:chenxiaosong.com/courses博客:chenxiaosong.com/blog贡献:chenxiaosong.com/contributions邮箱:[email protected]交流群:544216206,点击查看群介绍点......