概述
平时运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的工作事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,如何学好脚本,最关键的是就是大量的练习 和实践。下面介绍一些适合大家去做练习的shell脚本,建议先看需求自己有个思路再看如何脚本实现!
判断文件
需求:判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下
脚本实现:
![7b2e86f24cc82ca0ef495443de542315.png](https://img-blog.csdnimg.cn/img_convert/7b2e86f24cc82ca0ef495443de542315.png)
添加多个用户
需求:添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。
脚本实现:
![e44093cef83fa4b1f8836a8ab6d6c81d.png](https://img-blog.csdnimg.cn/img_convert/e44093cef83fa4b1f8836a8ab6d6c81d.png)
自动删除账号
需求:实现自动删除50个账号的功能。账号名为stud1至stud50。
脚本实现:
![de8633dc85327a264476703324268753.png](https://img-blog.csdnimg.cn/img_convert/de8633dc85327a264476703324268753.png)
定时备份
需求:在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。
实现:
1、脚本内容:
![799df1e6767c50efa82e4474a2a0c29e.png](https://img-blog.csdnimg.cn/img_convert/799df1e6767c50efa82e4474a2a0c29e.png)
2、编写任务定时器:
使用crontab -e 命令添加定时任务:
0 1 * * * /bin/sh /opt/shell.sh
批量授权
需求:在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
实现:
![921b0613b4ffd013e947b05e6f4aa8f9.png](https://img-blog.csdnimg.cn/img_convert/921b0613b4ffd013e947b05e6f4aa8f9.png)
大家如果想学好shell的话一定要自己去多敲,将思考的逻辑写下来,上面的脚本都比较简单,大家可以根据自己的想法做一些优化调整。后面小编会分享更多Linux方面内容,感兴趣的朋友走一波关注哩~
![b3b672bdd50253f2c8f9959b5f1f588e.gif](https://img-blog.csdnimg.cn/img_convert/b3b672bdd50253f2c8f9959b5f1f588e.gif)