shell-day01

一、shell的定义以及作用(了解即可)

   1、shell的定义: Shell是一个命令解释器,操作系统的外壳,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。

   2、脚本的定义:脚本就是由Shell命令组成的文件,这些命令都是可执行程序,脚本不用编译即可运行。

   3、shell的作用:

   (1)自动化初始系统:时区设置、安全策略、初始化文件等等。

   (2)自动化批量软件的部署:应用程序、Tomcat、LNMP、LVS、Apache等等。

   (3)自动化管理应用程序:实现自动化批量部署,配置更新、修改文件、KVM自动管理部署、集群管理、Mysql安装升级等等。

   (4)日志分析处理:Nginx、Apache日志、网站PV/UV/HTTP状态、grep/sed/awk等等。

   (5)自动化备份恢复程序:Mysql完全/增量备份+Crond。

   (6)自动化信息采集以及监控程序:收集每个主机或者应用的状态信息(CPU、内存、Disk、HTTP状态等)。

   (7)根据业务需求完成相应的功能。

二、shell常用类型(了解即可)

 (一)常用的shell类型有bash、csh、ksh、tcsh、sh、nologin。大部分Linux系统默认shell是bash,一般shell脚本命名是.sh结尾的文件,例如ping01.sh。

    1、bash:linux常见shell类型,基本都是使用bash类型

    2、csh:C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell

    3、ksh:Korn shell 的语法与Bourne shell相同,同时具备了C shell的易用特点。

    4、tcsh:tcsh是csh的增强版,与C shell完全兼容。

    5、sh:是一个快捷方式,已经被/bin/bash所取代。

    6、nologin:用户不能登录。

 (二)可以用 如下命令查看系统的默认shell:

     echo $SHELL 、echo $0、ps

 (三)可以使用下面命令查看linux支持的shell:

     cat  /etc/shells

三、shell的执行方式(掌握)

    (1)bash script-name 或者 sh script-name:这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法,或者脚本文件开头没有指定解释器时需要使用的方法。推荐使用这种方法。sh ping01.sh

  (2)path/script-name或者./script-name:指在当前路径下执行脚本(脚本需要有执行权限),需要将脚本文件的权限改为可执行(即文件权限属性为x位)。具体方法为:chmod a+x script-name。然后通过执行脚本绝对路径或者相对路径就可以执行脚本了。chmod a+x ping01.sh  ./ping01.sh
注意:如果使用该方式执行脚本,注意对脚本进行授权。因此,推荐第一种方法执行脚本。

  (3)source script-name或者. script-name:source或者“.”命令的功能是:读入脚本并执行脚本,即在当前Shell中(父shell)执行source或“.”加载并执行的相关脚本文件的命令及语句,而不是产生一个子Shell来执行文件中的命令。source ping01.sh 或者 . ping01.sh

实例脚本:ping01.sh

ping -c 4 www.baidu.com &>/dev/null && echo "www.baidu.com is up " || echo "www.baidu.com is down"

 

posted @ 2020-04-01 16:46  zhengsk  阅读(72)  评论(4编辑  收藏  举报