shell脚本100练习题(转)

    原创

    shell脚本100练习题,答案见下一条博客。

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接: https://blog.csdn.net/weixin_42502742/article/details/80888794

    Shell 脚本100例

    1、编写 hellworld 脚本

     

    2. 通过位置变量创建 Linux 系统账户及密码

     

    3. 每周 5 使用 tar 命令备份/var/log 下的所有日志文件

     

    4. 一键部署 LNMP(RPM 包版本

     

    5. 实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M

    时,发送报警邮件给 root 管理

     

    6. 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,

    猜小了或猜大了,直至用户猜对脚本结束。

     

    7. 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不

    是,则提示您非管理员(使用字串对比版本)

     

    8. 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不

    是,则提示您非管理员(使用 UID 数字对比版本)

     

    9. 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户

    不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默

    认的 123456 作为默认密码

     

    10. 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字

     

    11. 编写脚本,实现人机<石头,剪刀,布>游

     

    12. 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机

    状态(for 版本

     

    13. 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机

    状态(while 版本

     

    14. 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机

    状态(多进程版

     

    15. 编写脚本,显示进度

     

    16. 进度条,动态时针版

     

    17. 9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表

     

    18. 使用死循环实时显示 eth0 网卡发送的数据包流

     

    19. 使用 user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密

     

    20. 编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文档

     

    21. 使用 expect 工具自动交互密码远程其他主机安装 httpd 软件

     

    22. 一键部署 LNMP(源码安装版本)

     

    23. 编写脚本快速克隆 KVM 虚拟

     

    24. 编写一个点名器脚

     

    25. 查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计

     

    26. 对 100 以内的所有正整数相加求和(1+2+3+4...+100)

     

    27. 统计 13:30 到 14:3 所有访问 apache 服务器的请求有多少

     

    28. 统计 13:30 到 14:3 所有访问本机 Aapche 服务器的远程 IP 地址是什

     

    29. 打印国际象棋棋盘,效果如下图

     

    30. 统计每个远程 IP 访问了本机 apache 几次?

     

    31. 统计当前 Linux 系统中可以登录计算机的账户有多少

     

    32. 统计/var/log 有多少个文件,并显示这些文件

     

    33. 自动为其他脚本添加解释器信息#!/bin/bash,如脚本名为 test.sh 则效果如下

    #./test.sh  abc.sh    自动为 abc.sh 添加解释器信息 

    #./test.sh  user.sh   自动为 user.sh 添加解释器信息

     

    34. 自动化部署 varnish 源码包软

     

    35. 编写 nginx 启动脚

     

    36. 自动对磁盘分区、格式化、挂载

     

    37. 自动优化 Linux 内核参数

     

    38. 切割 Nginx 日志文件(防止单个文件过大,后期处理很困难

     

    39. 检测 MySQL 数据库连接数

     

    40. 根据 md5 校验码,检测文件是否被修

     

    41. 检测 MySQL 服务是否存

     

    42. 备份 MySQL 的 shell 脚本(mysqldump 版本)

     

    43. 将文件中所有的小写字母转换为大写字

     

    44. 非交互自动生成 SSH 密钥文

     

    45. 检查特定的软件包是否已经安

     

    46. 监控 HTTP 服务器的状态(测试返回码)

     

    47. 自动添加防火墙规则,开启某些服务或端口(适用于 RHEL7)

     

    48. 使用脚本自动创建逻辑卷

     

    49. 显示 CPU 厂商信息

     

    50. 删除某个目录下大小为 0 的文件     #自己创建文件完成模拟

     

    51. 查找 Linux 系统中的僵尸进程

     

    52. 提示用户输入年份后测试判断是否为闰年

     

    53. 生成随机密码(urandom 版本)

     

    54. 生成随机密码(字串截取版本)

     

    55. 生成随机密码(UUID 版本,16 进制密码)

     

    56. 生成随机密码(进程 ID 版本,数字密码)

     

    57. 测试用户名与密码是否正确

    58. 循环测试用户名与密码是否正确

     

    59. Shell 脚本的 fork 炸弹

     

    60. 批量下载有序文件(pdf、图片、视频等等)

     

    61. 显示当前计算机中所有账户的用户名称

     

    62. 制定目录路径,脚本自动将该目录使用 tar 命令打包备份到/data 目录

     

    63. 显示进度条(回旋镖版)

     

    64. 安装 LAMP 环境(yum 版本)

     

    65. 循环关闭局域网中所有主机

     

    66. 获取本机 MAC 地址

     

    67. 自动配置 rsynd 服务器的配置文件 rsyncd.conf

     

    69. 设置 Python 支持自动命令补齐功能

     

    70. 自动修改计划任务配置文件

     

    71. 使用脚本循环创建三位数字的文本文件(111-999 的文件)

     

    72. 找出/etc/passwd 中能登录的用户,并将对应在/etc/shadow 中第二列密码提出处理

     

    73. 统计/etc/passwd 中 root 出现的次数

     

    74. 统计 Linux 进程相关数量信息

     

    75. 从键盘读取一个论坛积分,判断论坛用户等级

     

    76. 判断用户输入的数据类型(字母、数字或其他)

     

    77. 显示进度条(数字版)

     

    78. 打印斐波那契数列(该数列的特点是后一个数字,永远都是前 2 个数字之和)

    79. 判断用户输入的是 Yes 或 NO

    80. 显示本机 Linux 系统上所有开放的端口列表

    81. 将 Linux 系统中 UID 大于等于 1000 的普通用户都删除

    82. 使用脚本开启关闭虚拟机

    83. 调整虚拟机内存参数的 shell 脚本

    84. 查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)

    85. 不登陆虚拟机,修改虚拟机网卡 IP 地址、

    86. 破解虚拟机密码,无密码登陆虚拟机系统

    87. Shell 脚本对信号的处理,执行脚本后,按键盘 Ctrl+C 无法终止的脚本

    88. 一键部署 memcached

    89. 一键配置 VNC 远程桌面服务器(无密码版本)

    90. 关闭 SELinux

    91. 查看所有虚拟机磁盘使用量以及 CPU 使用量信息

    92. 使用 shell 脚本打印如下图形

    93. 根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动

    94. 读取用户输入的账户名称,将账户名写入到数组保存

    95. 判断文件或目录是否存在

    96. 打印各种时间格式

    97. 使用 egrep 过滤 MAC 地址

    98. 统计双色球各个数字的中奖概率

    99. 生成自签名私钥和证书

    100. 使用 awk 编写的 wc 程

    文章最后发布于: 2018-07-02 19:32:35
    • 0
      点赞
    • 2
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值