SHELL基础原理【博森瑞】_第1页
SHELL基础原理【博森瑞】_第2页
SHELL基础原理【博森瑞】_第3页
SHELL基础原理【博森瑞】_第4页
SHELL基础原理【博森瑞】_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1-1Copyright Bosenrui, 2016. All rights reserved.SHELL【博森瑞博森瑞】1-2Copyright Bosenrui, 2016. All rights reserved. 一一.SHELL 究竟是什么?究竟是什么?1-3Copyright Bosenrui, 2016. All rights reserved.在计算机科学中,在计算机科学中,Shell俗称壳(用来区别于核),是指俗称壳(用来区别于核),是指“提供使用者使用界面提供使用者使用界面”的软件的软件(命令解析器)。它类似于(命令解析器)。它类似于DOS下的下的command和后来的和

2、后来的cmd.exe。它接收用户命。它接收用户命令,然后调用相应的应用程序令,然后调用相应的应用程序。(请看画图板演示请看画图板演示)同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。1-4Copyright

3、Bosenrui, 2016. All rights reserved. 二二.SHELL 的的种类种类1-5Copyright Bosenrui, 2016. All rights reserved.Bourne Shell首个重要的标准首个重要的标准Unix Shell是是1970年底在年底在V7 Unix(AT&T第第7版)中引入的,并且以它的创始科技部基础条件平台版)中引入的,并且以它的创始科技部基础条件平台“国家气国家气象网络计算应用节点建设象网络计算应用节点建设”(2004DKA50730)资助者)资助者Stephen Bourne的名字命名。的名字命名。Bourne sh

4、ell 是一个交换式的命令解是一个交换式的命令解释器和命令编程语言。释器和命令编程语言。Bourne shell 可以运行为可以运行为login shell或者或者login shell的子的子shell(subshell)。只有)。只有login命令可以调命令可以调用用Bourne shell作为一个作为一个login shell。此时,。此时,shell先读取先读取/etc/profile文件和文件和$HOME/.profile文件。文件。/etc/profile文件为所有文件为所有的用户定制环境,的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,文件为本用户定制环境

5、。最后,shell会等待读取你的输入。会等待读取你的输入。C ShellBill Joy于于20世纪世纪80年代早期,在伯克利的加利福尼亚大学开发了年代早期,在伯克利的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,。它主要是为了让用户更容易的使用交互式功能,并把并把ALGOL风格的语法结构变成了风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。Korn Shell有很长一段时间,只有两类有很长一段时间,只有两类shell供人们选择,供人们选择,Bourne shell用

6、来编程,用来编程,C shell用来交互。为了改变这种状况,用来交互。为了改变这种状况,AT&T的的bell实验室实验室David Korn开发了开发了Korn shell。ksh结合了所有的结合了所有的C shell的交互式特性,并融入了的交互式特性,并融入了Bourne shell的语法。因此,的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑()、行内编辑(inline editing)等功能。)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言是一个交互式

7、的命令解释器和命令编程语言.它符合它符合POSIX一个操作系统的国际标准一个操作系统的国际标准.POSIX不是一个操作系统,不是一个操作系统,而是一个目标在于应用程序的移植性的标准而是一个目标在于应用程序的移植性的标准在源程序一级跨越多种平台。在源程序一级跨越多种平台。Bourne Again Shell (bash)bash是是GNU计划的一部分,用来替代计划的一部分,用来替代Bourne shell。它用于基于。它用于基于GNU的系统如的系统如Linux.大多数的大多数的Linux(Red Hat,Slackware,Caldera)都以)都以bash作为缺省的作为缺省的shell,并且运

8、行,并且运行sh时,其实调用的是时,其实调用的是bash。POSIX ShellPOSIX shell 是是Korn shell的一个变种的一个变种. 当前提供当前提供POSIX shell的最大卖主是的最大卖主是Hewlett-Packard。在。在HP-UX 11.0,POSIX shell 就是就是/bin/sh,而,而bsh是是/usr/old/bin/sh.1-6Copyright Bosenrui, 2016. All rights reserved.AIX缺省的是缺省的是Korn Shell.Solaris缺省的是缺省的是Bourne shell.(这里指的是这里指的是SUN-S

9、OLARIS V10)FreeBSD缺省的是缺省的是C shellHP-UX缺省的是缺省的是POSIX shell.Linux缺省的是缺省的是Bourne Again shell.MACOS缺省的是缺省的是Bourne Again shell.*ORACLE-SOLARIS V11以后默认为以后默认为BASH*各各大系统使用大系统使用SHELL的概览的概览1-7Copyright Bosenrui, 2016. All rights reserved.三三.我为什么要学我为什么要学SHELL?1-8Copyright Bosenrui, 2016. All rights reserved.你是

10、一个苦逼的你是一个苦逼的DBA!你每天要做很多重复的操作!你每天要做很多重复的操作!因此你身心俱疲!因此你身心俱疲!情景一情景一:1-9Copyright Bosenrui, 2016. All rights reserved.你还是一个苦逼的你还是一个苦逼的DBA!你你要做你们公司数据库的备份策略!要做你们公司数据库的备份策略!无论无论是物理备份(是物理备份(RMAN)还是逻辑备份(数据泵)还是逻辑备份(数据泵,EXP),你都志得意满。可),你都志得意满。可是突然发现,你要把他变成定时任务却是如此的困难!是突然发现,你要把他变成定时任务却是如此的困难!情景二:情景二:1-10Copyrigh

11、t Bosenrui, 2016. All rights reserved.又是你!对没错又是你,你这个苦逼的又是你!对没错又是你,你这个苦逼的DBA!你们数据库每天都会有报错,可是恰巧所有报错发生时间,都被你巧妙的错过你们数据库每天都会有报错,可是恰巧所有报错发生时间,都被你巧妙的错过了!了!你你要在海量的日志中去搜索那个关键的点!要在海量的日志中去搜索那个关键的点!因为,只是因为!因为,只是因为!你没有更好的手段,去做日志挖掘。你没有更好的手段,去做日志挖掘。情景三:情景三:1-11Copyright Bosenrui, 2016. All rights reserved.好吧!我真的不想

12、再说了,不过这次又是你!好吧!我真的不想再说了,不过这次又是你!你你个苦逼的个苦逼的DBA!你要你要清理掉一些数据库中的清理掉一些数据库中的“垃圾垃圾”!结果你却因为你不懂正则表达式!而让本是很简单的工作变得充满了变数和复结果你却因为你不懂正则表达式!而让本是很简单的工作变得充满了变数和复杂不堪!杂不堪!这次看你咋办?这次看你咋办?!情景四:情景四:1-12Copyright Bosenrui, 2016. All rights reserved.那我们有没有好的解决方案呢?那我们有没有好的解决方案呢?1-13Copyright Bosenrui, 2016. All rights reser

13、ved.Shell的用途的用途数据的统计与分析计划任务的执行进程的监控与管理命令的组合与使用SHELL 的用途的用途1-14Copyright Bosenrui, 2016. All rights reserved.就让就让我们开始学我们开始学BASH吧!吧!1-15Copyright Bosenrui, 2016. All rights reserved.Bash脚本优点脚本优点简单、快速简单、快速不需要不需要编译编译灵活灵活高效高效1-16Copyright Bosenrui, 2016. All rights reserved.四四.SHELL基础基础1-17Copyright Bose

14、nrui, 2016. All rights reserved. 变量变量 数值运算数值运算 流程控制流程控制 命令命令 函数函数Bash语法语法1-18Copyright Bosenrui, 2016. All rights reserved.变量定义:变量定义:var=value变量引用:变量引用:$var变量变量1-19Copyright Bosenrui, 2016. All rights reserved.$! 最后一个后台进程的最后一个后台进程的pid$ 当前进程的当前进程的pid$0 当前程序名称当前程序名称$n n为为1,2.n, 脚本或函数的参数脚本或函数的参数$#:所给的参数个数所给的参数个数$*:所有给出的参数所有给出的参数$? 最后一个命令的退出状态最后一个命令的退出状态常用变量常用变量1-20Copyright Bosenrui, 2016. All rights reserved.条件判断条件判断ifcase循环循环for, whilebreak, continue流程控制流程控制1-21Copyright Bosenrui, 2016. All rights re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论