学习b记 · 第二阶段
一、shell编程
1、什么是shell
shell是一种命令语言,是为使用者提供操作界面的一种软件,软件可以接收用户的命令,并且执行用户输入的命令,然后对相应的程序进行调用。
2、shell可以分为两种方式
1)shell命令行式
例如一些系统linux,从传统的意义上来说,如果不去注明的话,shell一般是命令行式。shell是传统操作和外部的接口,shell是操作系统的最外层,并且管理用户和操作系统之间的交互,操作系统完成用户的操作,并且处理输出结果。shell实现了用户和系统之间的交互,用户在键盘上输入,并且得到响应,shell基本上算是一个命令解析器吧。
2)图形界面shell
目前应用最广的windows操作系统,还有很多Linux shell,并且包含了FluxBox和CDE。
3、shell的分类
shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、bash、psh、zsh;C家族主要包括csh、tcsh(bash和zsh在不同程度上支持csh的语法)
4、Shell编程的重要性
1.Shell编程运维人员使用最多的编程语言
2.Shell编程可以解决大部分的需求
3.Shell的作用
1)安装操作系统(kickstart cobbler自动化部署操作系统 底层调用脚本实现)
2)优化操作系统(优化SSH 禁止ROOT登录 加大文件描述符 时间同步 Selinux 优化防火墙 YUM仓库..)
3)服务安装(多台服务器部署、不同的服务安装)
4)服务配置,写脚本配合Ansible使用
5)监控(取值+自定义监控)
6)日志分析、日志统计 、日志切割(文件切割) 脚本+定时任务
5、学习Shell编程必会的技能
1.vim编辑器
2.三剑客 awk sed grep | find
3.Linux常用系统命令
4.远程连接软件Xshell Crt
6、如何学习Shell编程
1.基础部分最重要
shell脚本规范
Shell执行方式
变量
判断 比较表达式
...
2.重复练习(先模仿-->练习-->修改) 自己尝试写需求
注意: 后面我们写脚本的过程会省略前面相对简单的语法,大家不能省略
3.编程思维(生活案例)
4.有一个比较完善的教材或笔记
5.拿来即用(每行搞明白变为自己的知识)
6.做好笔记
7、Shell脚本规范
1.Shell脚本以.sh结尾
2.脚本开头使用解释器
3.脚本中尽量使用注释说明
4.脚本中对功能块进行注释说明
5.shell中尽量不使用中文,不是说不让用,而是有可能出问题
6.脚本中成对的符号尽量一次性书写完毕,且为英文
7.语法结构尽量一次性完成
8.将脚本放在统一的目录下,可以通过功能目录名称分类
1、第一个Shell脚本
[root@shell script]