在我们日常的开发工作当中,Linux是必不可少的部分,例如 部署项目,日志等等,所以一个优秀的开发者必定有深厚的shell功底。
不管在学习什么技术 我们都应该从四个点出发 W(是什么)W(为什么)H(如何做)W(在那用)
SHELL是什么:
Shell 是一个应用程序(同时也叫命令行解释器),它连接了用户和 Linux 内核,让用 户能够更加高效、安全,低成本地使用 Linux 内核,这就是 Shell 的本质
为什么要使用SHELL:
1.至少要能够看懂运维 人员写的shell程序
2.提高我们自己的开发效率
如何做:
一般我们能的shell代码会放在 xx.sh文件当中 我们通过sh命令去执行
在那用:
1.操作内核 控制硬件
2.通过shell 控制应用 例如管理集群
3.做自动化
做简单命令篇:
1.grep 查询关键字 以行为单位 grep [可选项] 关键字 文件名称
一般使用的时候我们都会加上颜色高亮
2.sudo 普通用户执行 管理员才能执行的操作(类似于本次的权限提升)
SHELL的 解释器:
1.析器的类型共计5种:
/bin/sh,/bin/bash, /sbin/nologin, /bin/tcsh, /bin/csh
2.最常用的是这两种,系统默认使用的是哪一个的呢?
在bin目录下 执行 echo $SHELL 可以查看使用的 是哪个解析器
Hello World案例:
1.建一个 sh文件 其中文件的格式:
#!/bin/bash(解析器)
执行代码
2.如何执行:
执行的时候可以选择 sh bash ./等方式,其中sh bash是拿到文件之后给 系统的默认的shell解析器执行,./的方式是 把解析的任务交给了文件里面 定义的这个解析器 所以就要求了这个文件必须是可以直接执行的文件(如 果文件没有可执行的权限可以使用 chmod 777 文件名 来给文件天界权限)
shell多命令集合:
1.在一个 sh文件当中 可以添加多条命令,最后一次性执行
案例:例如如在testall.sh文件当中添加以下的案例
#!/bin/bash
touch test7.sh
echo "#!/bin/bash" > test7.sh
echo "echo Hello World7" > test7.sh
chmod 777 test7.sh
./test7.sh
输出的结果:Hello World7
系统变量和自定义变量:
系统变量:$HOME,$PWD,$USER,$SHELL
$HOME:当前用户的home
$PWD:当前路径
$USER:当前用户
$SHELL:当前使用的解析器
自定义变量:定义变量,撤销变量,只读变量
1.设置的变量的时候,变量名称和值之间是紧密相连的 中间不能有空格
a=1可以但是 a= 1就不可以,其中在查看值的时候 echo $变量
&nb