• Shell解释器(学习笔记四)


    一、Shell解释器

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

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

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

    如:Windows中的cmd.exe类似这个角色,不过接收的是DOS命令

    二、Linux中的shell

    2.1、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程序的优点

    三、Bash 

    3.1、Linux默认使用的Shell程序

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

    [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.2、主要功能

    • 命令历史: 是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不存在就创建

    四、命令行

     命令行的一般格式:

    命令字  [选项]  [参数]

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

    [选项]:调节命令的具体功能,决定这个命令将如何执行,同一个命令的配合不同的选项使用,可以获得相似但有细微差别的功能。

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

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

    选项和参数的顺序可以混淆,可以顺序相反,一般不影响命令的正常执行,特殊除外

  • 相关阅读:
    ORA-28000 帐户已被锁定问题处理
    德邦总管 修改oracle数据库用户密码的方法
    测试面试题目
    python 把一文件包含中文的字符写到另外文件乱码 UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position
    python version 2.7 required,which was not found in the registry
    ImportError: No module named dateutil.parser
    解决python2.x用urllib2证书验证错误, _create_unverified_context
    python多版本兼容性问题:当同时安装Python2和Python3后,如何兼容并切换
    MAC OS git客户端安装及操作
    Pycharm连接gitlab
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4296119.html
Copyright © 2020-2023  润新知