先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
[root@m01 /server/scripts]# echo $LIDAO
996
[root@m01 /server/scripts]# cat show.sh
#!/bin/bash
echo $LIDAO
[root@m01 ~]# sh show.sh \执行脚本为空
[root@m01 ~]#
[09:17 root@m01 ~]# export LIDAONB \添加全局变量
[09:22 root@m01 ~]# echo $LIDAONB
666
[09:22 root@m01 ~]# sh show.sh
666
### 6.局部变量和全局变量区别
<https://www.processon.com/view/link/5a0e4380e4b06c8e10923353>
![](https://upload-images.jianshu.io/upload_images/16952149-e9ac48f3db41ee1e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![image.png](https://upload-images.jianshu.io/upload_images/16952149-186b6fb8aa849faa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### 7.awk的 -v 参数
[09:49 root@m01 ~]# x=10
[09:49 root@m01 ~]# y=99
[09:49 root@m01 ~]# echo $x
10
[09:49 root@m01 ~]# echo $y
99
[09:49 root@m01 ~]# awk ‘BEGIN{print
x
/
x/
x/y}’
awk: cmd. line:1: fatal: division by zero attempted
[09:49 root@m01 ~]# awk -vn1=10 -vn2=99 ‘BEGIN{print n1/n2}’
0.10101
[09:51 root@m01 ~]# awk -vn1=
x
−
v
n
2
=
x -vn2=
x−vn2=y ‘BEGIN{print n1/n2}’
0.10101
[09:51 root@m01 ~]# awk -vx=10 -vy=99 ‘BEGIN{print x/y}’
0.10101
[09:53 root@m01 ~]#
#### 8.利用shell编译小型计算器
[10:18 root@m01 ~]# vim show.sh
#!/bin/bash
. /etc/profile
x=$1
y=$2
echo $1+
2
=
;
a
w
k
−
v
x
=
2= ;awk -vx=
2=;awk−vx=x -vy=$y ‘BEGIN{print x+y}’
echo $1-
2
=
;
a
w
k
−
v
x
=
2= ;awk -vx=
2=;awk−vx=x -vy=$y ‘BEGIN{print x-y}’
echo $1\*
2
=
;
a
w
k
−
v
x
=
2= ;awk -vx=
2=;awk−vx=x -vy=$y ‘BEGIN{print x*y}’
echo $1/
2
=
;
a
w
k
−
v
x
=
2= ;awk -vx=
2=;awk−vx=x -vy=$y ‘BEGIN{print x/y}’
[10:19 root@m01 ~]# sh show.sh 5 6
5+6=
11
5-6=
-1
5*6=
30
5/6=
0.833333
#### 9.特殊变量中简单判断参数个数:
![](https://upload-images.jianshu.io/upload_images/16952149-d9ff6e10bb2d9edf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/16952149-1e1406e2cc875141.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 10.判断目录存不存在,不存在就创建
![](https://upload-images.jianshu.io/upload_images/16952149-b7ba11ab70afeb3d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/16952149-c1fd3735773015e0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
## 三、判断语句
>
> if判断句语法:单分支: 如果。。。那么就
> if [ 表达式 ]
> then命令
> else
> exit 退出
> fi 果如
>
>
>
#### 1.if语句格式:
if [ 表达式 ]
then命令
exit 退出
fi
![](https://upload-images.jianshu.io/upload_images/16952149-02c95db033dc5d95.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/16952149-17e6ab5d7b082e4d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 2.对比两个数值大小
![](https://upload-images.jianshu.io/upload_images/16952149-226c5d1a33ce2201.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/16952149-4842ba1920c8c5d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 3.检查定时任务是否运行中
![](https://upload-images.jianshu.io/upload_images/16952149-29e9ac0bc174f36f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![](https://upload-images.jianshu.io/upload_images/16952149-55272ddfed6454da.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>
> #### 避免过滤的时候 过滤掉grep命令自己
>
>
> ![](https://upload-images.jianshu.io/upload_images/16952149-4226bfdca482d490.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>
>
>
### 四、循环语句
#### for语句
![](https://upload-images.jianshu.io/upload_images/16952149-c1bf605a8d4a8c42.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 五、扩展:
##### read命令
<http://man.linuxde.net/read>
>
> 从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY
>
>
>
-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)。
![截取自简书好友—依旧](https://img-blog.csdnimg.cn/img_convert/c3d7f2c07ecdffb9ecc94c5395f4460d.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/fa6f1120bd6c8500f00d890a715f245b.webp?x-oss-process=image/format,png)
>
> ### 总结:
>
>
> 1.变量 特殊变量 $# $\* $1 $0
> 2.判断与循环
> 服务脚本
> 任务:
>
>
>
批量添加用户设置随机密码 for循环实现
批量修改文件名字 for/rename
touch /oldboy/oldboy.txt 批量.txt修改为.jpg
未完待续…
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**