Shell解释器(学习笔记四)

1、Shell解释器

shell解释器,用户和操做系统内核之间的桥梁shell

 

shell介于操做系统内核与用户之间,负责接收用户输入的操做指令(命令),并运行和解释,将须要执行的操做传递给操做系统内核并执行编程

shell程序在系统中充当了一个”命令解释“的角色bash

如:Windows中的cmd.exe相似这个角色,不过接收的是DOS命令编程语言

2、Linux中的shell

2.一、Shell常见种类

  • Bsh:由贝尔实验室编写。Bsh是产生较早的UNIX Shell程序,实现了最基本的命令解释器的功能,同时也能够做为脚本编程语言
  • Csh:是因使用C语言的语法风格而得名,在用户的命令行交互界面上进行了不少改进,并增长了历史,别名,文件名替换,做业掏等功能,相比Bsh,Csh在更加适用为  用户提供命令交互操做
  • Ksh:在Bsh和Csh以后出现的,结合了两都的功能优点,兼具Bsh的语法和Csh的交互特性.
  • Bash:从名称能够看出是Bsh的升级版本,是著名的开源软件项目,目前大多数的Linux版本(包括Red Hat公司的Linux系统)都使用Bash 做为默认的Shell程序当运行    Shell程序时,实际运行的是Bash程序
  • Zsh:更多地基于交互式操做考虑进行设计的Shell程序,集成了Bash,Ksh等多种Shell程序的优势

3、Bash 

3.一、Linux默认使用的Shell程序

命令文件位置:/bin/bash文件中spa

[root@model /]# ls /bin/bash 
/bin/bash
[root@model /]# 
[root@model /]# ll /bin/bash 
-rwxr-xr-x. 1 root root 940416 Oct 16 21:56 /bin/bash
[root@model /]# 

3.二、主要功能

  • 命令历史: 是BaSh中用于提升命令输入效率的一项功能,可以让用户快速地重复执行已经输入过的命令,减小重复输入工做,向上的方向键等,

        history能够查看已经输入过哪些命令操作系统

  • 命令别名:能够将频繁使用的复杂命令定义为简短的别名,当用记须要执行该复杂命令时,只须要使用别名便可完成对应的操做,下降和操做复杂性,提升了输入效率
  • 标准输入输出和重定向:Linux使用文件来描述系统的硬件,设备等资源。
  • 管道操做:在Bash环境中,为不一样命令之间的协同工做提供了一种机制,为于管道符号左侧的命令输出结果,将做为右侧命令的输入,同一行命令中能够有多个管道
cat etc/inittab >>/tmp/bootype.txt
[root@model Documents]# cat >> a.txt << fw
> fffffffffff
> dddddddddd
> fw
[root@model Documents]# 

将2个fw之间的内容追加到文件a.txt中,若是a.txt不存在就建立命令行

4、命令行

 命令行的通常格式:设计

命令字  [选项]  [参数]code

命令字:简单讲,凡是在Linux字符界面,字符终端中,能名称完成特定操做和任务的字符串,均可以称为"命令"。命令只表明了实现某一类功能的指令和程序的名称。    命令字区分大小写,是整条命令中最重要的部分对象

[选项]:调节命令的具体功能,决定这个命令将如何执行,同一个命令的配合不一样的选项使用,能够得到类似但有细微差异的功能。

[参数]:命令字的处理对象,能够是文件,目录,文件夹,用户等一些内容。参数能够是0个,多个.

命令字 选项 参数之间用空格隔开,多余的空格会被忽略

选项和参数的顺序能够混淆,能够顺序相反,通常不影响命令的正常执行,特殊除外

相关文章
相关标签/搜索