学校这学期末,添加了一门《计算机操作系统》的课程。
课程需要完成项目《基于Shell命令的管理系统》
Main.sh 主控脚本
文件名:main.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #!/bin/bash
while true; do echo "----------------------------" echo " 欢迎使用本系统 " echo "----------------------------" echo -e "\e[2;37m The script : 0 ==>" "\e[0m applyMange.sh 应用管理" echo -e "\e[2;37m The script : 1 ==>" "\e[0m backupMange.sh 备份管理" echo -e "\e[2;37m The script : 2 ==>" "\e[0m fileMange.sh 文件管理" echo -e "\e[2;37m The script : exit ==>" "\e[0m 退出系统 " read -p "请输入操作选项: [ | 0 | 1 | 2 | exit | ]: " choice
case $choice in 0) /bin/bash ./applyManage_catchyun.sh ;; 1) /bin/bash ./backupManage_catchyun.sh ;; 2) /bin/bash ./fileManage_catchyun.sh ;; "exit") echo "退出系统成功" break ;; *) echo "输入不合法,请重新输入!" ;; esac done
|
FileManage_CatchYun.sh 文件管理脚本
文件名:fileManage_catchyun.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| #! /bin/bash while true do echo " 文件管理 " echo "--------------------------" echo " 1.查看目录 " echo "--------------------------" echo " 2.查看文件内容 " echo "--------------------------" echo " 3.删除文件 " echo "--------------------------" echo " 4.检查文件是否存在 " echo "--------------------------" echo " 5.移除/重命名文件 " echo "--------------------------" echo " 6.文件搜索 " echo "--------------------------" echo " 7.修改文件权限 " echo "--------------------------" echo " 8.修改文件属主与属组 " echo "--------------------------" echo " 9.返回主菜单 " echo "--------------------------" echo " 0.退出 "
read -p "请输入操作选项: " chooice
case $chooice in 1) read -p "请输入你要查看的目录: " dirname ls -l $dirname ;; 2) read -p "请输入要查看文件名称: " filename cat $filename ;; 3) read -p "请输入要删除的文件名称: " delfilename rm -r $delfilename if [ $? = 0 ] then echo "文件删除成功" else echo "文件删除失败" fi;; 4) read -p "请输出要检查的文件名称: " detfilename if test -e $detfilename then echo "文件存在" else echo "文件不存在" fi;; 5) read -p "请输入要移除的源文件名称: " oldfilename read -p "请输入目标文件: " newfilename sudo mv $oldfilename $newfilename if [ $? = 0 ] then echo "文件移动/重命名成功" else echo "文件移动/重命名失败" fi ;; 6) read -p "请输入查找路径: " findroad read -p "请输入所要查找的文件名称: " findfilename find $findroad -name \*${findfilename}* -print echo "Key is: " $findfilename ;; 7) read -p "输入所要修改权限的文件名称: " chfilename read -p "请输入所要修改的权限【数字设定法】: " chnum sudo chmod $chnum $chfilename if [ $? = 0 ] then echo "文件权限修改成功" else echo "文件权限修改失败" fi;; 8) read -p "请输入要修改的文件名称: " groupfilename read -p "请输入新的属主: " host read -p "请输入新的属组: " group sudo chown $host:$group $groupfilename if [ $? = 0 ] then echo "文件修改成功" else echo "文件修改失败" fi;; 9) /bin/bash ./main.sh exit 0 ;; 0) exit 0 ;; *) echo "您的输入有误,请重新输入" esac done
|
AppleManage_CatchYun.sh 应用管理脚本
文件名:appleManage_catchyun.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
| #!/bin/bash
while true; do echo " 应用管理 " echo "--------------------------" echo " 1. RPM安装管理" echo "--------------------------" echo " 2. YUM安装管理" echo "--------------------------" echo " 3. 返回主界面" echo "--------------------------" echo " 0. 结束整个系统" echo "--------------------------"
read -p "请输入选项: " choice
case $choice in 1) while true; do echo " RPM安装管理 " echo "--------------------------" echo " 1. 安装软件" echo "--------------------------" echo " 2. 卸载软件" echo "--------------------------" echo " 3. 更新软件" echo "--------------------------" echo " 4. 查看已安装的软件" echo "--------------------------" echo " 5. 返回应用管理菜单" echo "--------------------------" read -p "请输入选项: " rpm_choice
case $rpm_choice in 1) read -p "请输入要安装的RPM包所在路径: " rpm_path read -p "请输入要安装的软件名称: " rpm_package sudo rpm -ivh "$rpm_path/$rpm_package.rpm" if [ $? -eq 0 ]; then echo -e "\e[32m安装成功\e[0m" else echo -e "\e[31m安装失败\e[0m" fi ;; 2) read -p "请输入要卸载的软件名称: " rpm_package sudo rpm -e "$rpm_package" if [ $? -eq 0 ]; then echo -e "\e[32m卸载成功\e[0m" else echo -e "\e[31m卸载失败\e[0m" fi ;; 3) read -p "请输入要更新的RPM包所在路径: " rpm_path read -p "请输入要更新的软件名称: " rpm_package sudo rpm -Uvh "$rpm_path/$rpm_package.rpm" if [ $? -eq 0 ]; then echo -e "\e[32m更新成功\e[0m" else echo -e "\e[31m更新失败\e[0m" fi ;; 4) read -p "请输入要查询的软件名称: " rpm_package sudo rpm -q "$rpm_package" if [ $? -eq 0 ]; then echo -e "\e[32m查询成功\e[0m" else echo -e "\e[31m查询失败\e[0m" fi ;; 5) break ;; *) echo "无效选项,请重新输入。" ;; esac done ;; 2) while true; do echo " YUM安装管理 " echo "--------------------------" echo " 1. 安装软件" echo "--------------------------" echo " 2. 卸载软件" echo "--------------------------" echo " 3. 更新软件" echo "--------------------------" echo " 4. 查看已安装的软件" echo "--------------------------" echo " 5. 返回应用管理菜单" echo "--------------------------" read -p "请输入选项: " yum_choice
case $yum_choice in 1) read -p "请输入要安装的软件名称: " yum_package sudo yum install "$yum_package" -y ;; 2) read -p "请输入要卸载的软件名称: " yum_package sudo yum remove "$yum_package" -y ;; 3) read -p "请输入要更新的软件名称: " yum_package sudo yum update "$yum_package" -y ;; 4) read -p "请输入要查询的软件名称: " yum_package sudo yum list installed | grep "$yum_package" -y ;; 5) break ;; *) echo "无效选项,请重新输入。" ;; esac done ;; 3) /bin/bash ./main.sh exit 0 ;; 0) exit 0 ;; *) echo "无效选项,请重新输入。" ;; esac done
|
BackUpManage_CatchYun.sh 备份管理脚本
文件名:backupManage_catchyun.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| #!/bin/bash
while true; do echo " 备份管理 " echo "--------------------------" echo " 1.备份文件 " echo "--------------------------" echo " 2.备份目录 " echo "--------------------------" echo " 3.制定计划任务 " echo "--------------------------" echo " 4.查看计划任务 " echo "--------------------------" echo " 5.返回主菜单 " echo "--------------------------" echo " 0.退出 "
read -p "请输入选项: " choice
case $choice in 1) while true; do echo " 备份文件 " echo "--------------------------" echo " 1.压缩文件 " echo "--------------------------" echo " 2.解压文件 " echo "--------------------------" echo " 3.返回备份管理菜单 " echo "--------------------------" read -p "请输入选项: " file_choice
case $file_choice in 1) read -p "请输入要压缩的文件路径: " file_path if [ -e "$file_path" ]; then read -p "请输入要压缩的文件名称: " file_name tar -czvf "${file_path}/${file_name}.tar.gz" "${file_path}/${file_name}" echo "压缩成功!" else echo "文件不存在,请重新输入。" fi ;; 2) read -p "请输入要解压的文件路径: " compressed_file_path if [ -e "$compressed_file_path" ]; then read -p "请输入要解压的文件名称: " compressed_file_name tar -xzvf "${compressed_file_path}/${compressed_file_name}.tar.gz" echo "解压成功!" else echo "压缩文件不存在,请重新输入。" fi ;; 3) break ;; *) echo "无效选项,请重新输入。" ;; esac done ;; 2) while true; do echo " 备份目录 " echo "--------------------------" echo " 1.压缩目录 " echo "--------------------------" echo " 2.解压目录 " echo "--------------------------" echo " 3.返回备份管理菜单 " echo "--------------------------" read -p "请输入选项: " dir_choice
case $dir_choice in 1) read -p "请输入要压缩的目录路径: " dir_path if [ -e "$dir_path" ]; then read -p "请输入要压缩的文件名称: " dir_name tar -czvf "${dir_path}/${dir_name}.tar.gz" "$dir_path" echo "压缩成功!" else echo "目录不存在,请重新输入。" fi ;; 2) read -p "请输入要解压的目录路径: " compressed_dir_path if [ -e "$compressed_dir_path" ]; then read -p "请输入要解压的文件名称: " compressed_dir_name tar -xzvf "${compressed_dir_path}/${compressed_dir_name}.tar.gz" echo "解压成功!" else echo "压缩目录不存在,请重新输入。" fi ;; 3) break ;; *) echo "无效选项,请重新输入。" ;; esac done ;; 3) echo "进入crontab编辑界面,请添加计划任务。" crontab -e ;; 4) echo "当前计划任务:" crontab -l ;; 5) /bin/bash ./main.sh exit 0 ;; 0) echo "退出系统。" exit 0 ;; *) echo "无效选项,请重新输入。" ;; esac done
|
就是一个基于Shell命令的简单脚本,此博文仅用于学习记录。