Shell概述

  1Shell是什么

  Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

 Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。 

  2Shell的分类 

  Bourne Shell:从1979Unix就开始使用BourneShellBourne Shell的主文件名为sh

  C ShellC Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名

 Shell的两种主要语法类型有BourneC,这两种语法彼此不兼容。Bourne家族主要包括shkshBashpshzshC家族主要包括:cshtcsh

  BashBashsh兼容,现在使用的Linux就是使用Bsah作为用户的基本Shell

 3Linux支持的Shell

  etc\shells

 Shell基础脚本执行方式

  1echo输出命令

#echo [选项][输出]
 选项:
   -e:  支持反斜线控制的字符转换 
  控制字符 作用
  \\      输出\本身
  \a      输出警告音
  \b      退格键,也就是向左删除键
  \c      取消输出行末的换行符。和“-n”选项一致
  \e      ESCAPE键
  \f      换页符
  \n      换行符
  \r      回车键
  \t      制表符,也就是Tab键
  \v      垂直制表符
  \Onnn   按照八进制ASCII码表输出字符。其中0为数字零,nnn就三围八进制数
  \xhh    安装十六进制ASCII码表输出字符。其中hh是两位十六进制数

  例:

  #echo -e “ab\bc”
   #删除左侧字符
  #echo -e "a\tb\tc\nd\te\tf"
   #制表符与换行符
  #echo -e \"\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
   @按照十六进制ASCII码也可以同样输出
  #echo -e “\e[1;31m abcd \e[0m”
   #输出颜色
  #30m=黑色,31m=红色,32m=绿色,33m=***
  #34m=蓝色,35m=洋红色,36m=青色,37m=白色

  2、第一个脚本

 #vi hello.sh
  #!/bin/Bash
  #The first program
  #Author:bios (E-mail:99317069@qq.com)
 echo -e"Mr.wu is the most honest man in LampBeother"

 3、脚本执行

  赋予执行权限,直接运行

chmod 755 hello.sh
./hello.sh

  通过Bash调用执行脚本

  Bash hello.sh

 Bashll基本功能-历史命令与补全

  1、历史命令

 #history [选项] [历史命令保存文件]
  选项:
   -c:请空历史命令
   -w:把缓存中的历史命令写入历史命令保存文件~/.bash_history
   历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改 
  历史命令的调用 
  使用上、下箭头调用以前的历史命令
  使用”!n“重复执行第n条历史命令
  使用”!!“重复执行上一条命令
  使用"!字串"重复执行最后一条以该字串开头的命令

  2、命令与文件补全

  Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按”Tab“键就会自动进行补全