1. shell 是操作系统的外壳,是用户使用操作系统的命令接口,是一个介于用户和操作系统内核之间的桥梁。

  2. shell 俗称,壳。是指“提供使用者使用界面”的软件(命令解析器)。

  3. 作为命令语言,它交互式解释和执行用户输入的命令,或者自动解释和执行预先设定好的一连串的命令。

    作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。

  4. shell的主要功能:

    (1)接受来自键盘的命令

    (2)检查命令的正确性

    (3)命令错误则给出报错信息

    (4)命令正确则使用相应的系统调用命令(产生进程)

    (5)命令执行完毕,给出命令执行的结果

  5. Linux把由这种程序设计语言构成的文件称为Shell Script或Shell脚本

  6. Shell脚本是解释执行,而不是编译执行。

  7. 脚本由ASCII文本组成,由Shell命令解释器读取并执行。

  8. 当执行一个shell脚本时,命令解释器会逐行、逐个循环地读取所有的ASCII文本,并从头到尾依次执行每条语句。

  9. shell编程的实质,就是连续自动执行一系列命令。


  10. 命令说明命令说明命令说明命令说明命令说明
    pwd显示当前目录cp复制文件>>附加到指定文件的结尾head查看文件的开始部分,默认为前10行netstat显示网络状态
    passwd
    修改用户的密码
    mv移动文件>输出重定向tail查看文件的结尾部分,默认为后10行basename提取基本文件名
    ls列出目录中的内容
    chown修改文件或目录的所有者<输出重定向diff比较两个文件的差异man显示联机参考手册
    cd改变当前的工作目录chgrp修改文件或目录的组|管道符,用于连接多个命令,前一命令的输出作为后一命令的输入spell拼写检查su临时切换到另一用户
    *匹配任意长度的任意字符chmod修改文件或目录的权限||逻辑或lp打印文件cut剪切文件
    匹配任意一个字符rm删除文件&&逻辑与cal显示日历vi启动vi编辑器
    []任意属于字符组的字符mkdir创建目录&在后台执行who显示当前登陆用户的信息emacs启动emacs编辑器
    cat一次性显示输出文件的全部内容rmdir删除目录,要求目录为空date显示当前的日期和时间Talk与其他用户对话awk过滤器
    file显示文件的类型grep查找指定的字符串echo回显,将字符串输出到标准输出设备write给指定用户发消息sed流编辑器
    more分屏显示文件的内容find查找指定的文件sleep暂停指定的时间间隔df对文件系统的磁盘空间使用情况进行统计pr编排文本格式
    clear清屏,提示符回到屏幕左上方egrep支持扩展正则表达式的grep命令wc计算文件的单词数、行数、字符数ps显示进程相关信息

  11. shell脚本的优点:

    (1)一次性完成目标

    (2)不用重复键入一系列命令

    (3)简化用户的操作

  12. 用户在成功登陆进入系统后,系统产生一个特定的Shell(这是用户的第一个进程)负责解释执行用户的命令或Shell脚本。

  13. 在系统提示符后,用户键入命令或Shell脚本名,来执行指定的命令或shell脚本。如果用户希望终止命令或脚本的执行,可以直接Ctrl+C键来完成。

  14. 如果用户结束工作希望推出系统,可以按Ctrl+D键或使用命令logout或exit。