Shell介绍

1、什么是shell

Shell介绍

Shell 既是一种命令语言,又是一种程序设计语言,在中文中解释“外壳”的意思,就是操作系统的外壳。工作中我们通过shell命令来操作和控制操作系统,在Linux操作系统中的Shell命令就包括touch、cd、pwd、mkdir等等。总结来说,Shell是一个命令解释器,用户输入命时,shell解释器负责将命令解释给内核,内核对程序的运行或对计算机进行控制,最后处理完后将结果反馈给用户。

shell script 脚本就是由Shell命令组成的文件,这些命令都是可执行程序的名字,脚本不用编译即可运行。它通过解释器解释运行,因此速度相对来说就比较慢。

shell的分类:

  • 登录式shell
  • 非登录式shell
  • 交互式shell
  • 非交互式shell

2、Shell应用场景

1)、安装系统,自动化安装操作系统(kickstart、cobbler)底层shell;

2)、网络IP地址配置;

3)、初始化操作系统的操作

操作包括但不限于:

1、ntp时间同步;

2、YUM源更改;

3、SSHD服务端口更改;

4、SSH远程连接禁止DNS解析;

5、禁止root登陆;

6、关闭Selinux服务;

7、防火墙优化;

8、常用命令软件安装;

9、加大文件描述符;

10、中文字符集优化;

11、内核参数优化;

12、别名优化;

13、中文件权限管理设置(例如加上i、a)

等等

4)、服务安装

例如: Nginx、MySQL、PHP、Redis、MHA、Rsync、MongoDB、KVM、Zabbix、Kubernetes、Docker、ELK等等

5)、配置文件

例如nginx、PHP、MySQL等服务配置文件的统一配置等等

6)、启动服务(系统默认的就是shell脚本)

例如开源服务的启停、自主研发的程序启停等等!

7)、监控

zabbix(常用服务器的各种状态);cacti(监控流量);nagios(监控交换机、路由器)

8)、日志统计、日志切割、日志收集:三剑客等命令+shell脚本+定时任务

9)、数据备份:命令+shell监本+定时任务

3、shell编程

  • 环境变量
  • 条件是表达
  • if判断
  • for循环
  • while循环
  • case循环
  • 数组
  • 函数

4、Shell脚本的书写规范

1)、目录统一;

2)、shell脚本的结尾要以.sh结尾;

3)、脚本的开头需要有解释器(/bin/bash或者/bin/sh);

4)、脚本中需要有作者、时间、作用等信息;

5)、脚本每行或者语句予以解释;

6)、shell中的文字尽量使用英文;

7)、成对的符号和语句一次性书写完毕(例如""、‘‘)。

8)、缩进统一。

Shell介绍

上一篇:VMware软件虚拟机不能全屏的问题 & CentOS 安装Vmware Tools


下一篇:shell脚本修改配置文件加上或者去掉注释