• Linux 操作基础——shell


    Linux 操作基础——shell

    1.什么是shell

    shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器),shell 接收用户输入的命令并把它送入内核执行,在用户与操作系统之间进行交互。shellLinux系统中具有极其重要的地位。

    在这里插入图片描述

    2.shell的功能

    命令解释器是shell最重要的功能。Linux系统中的所有可执行文件都可以作为shell命令来执行。Linux系统上可执行文件的分类如下:

    类 别说明
    Linux命令存放在/bin、/sbin目录下的命令
    内置命令出于效率的考虑,将一些常用命令的解释程序构造shell内部
    实用程序存放在/user/bin、/user/sbin、/userlocal/bin、/usr/local/sbin等目录下的实用程序
    用户程序用户程序经过编译生成可执行文件后可作为shell命令运行
    shell脚本由shell语言编写的批处理文件

    shell完成命令解释流程图

    在这里插入图片描述

    shell还具有如下功能能

    • 通配符、命令补全、别名机制、历史命令。
    • 重定向、管道、命令替代、shell编程等。

    3.shell的主要版本

    版 本说 明
    Bourne Again Shell(bash、bsh的扩展)bash是大多数Linux系统的默认shell。bash和bsh完全向后兼容,并且在bsh的基础上增加和增强了很多的特性。bash也包含了很多C shell 和korn shell中的优点。bash 有很灵活和强大的编程接口,同时又有很友好的用户界面
    korn shell(ksh)Korn Shell(ksh)由Dava Korn所写,是Unix系统上的标准shell。另外,在Linux环境下有一个专门为Linux系统编写korn shell的扩展版本,即Public Domain Korn Shell(pdksh)
    tcsh(csh扩展)tcsh是C shell的扩展。tcsh与csh完全向后兼容,但它包含了更多的用户感觉方便的新特性,其最大的提高是在命令行编辑和历史浏览方面

    4.shell的元字符

    在shell中有一些具有特殊意义,称为shell元字符(shell Metacharacters)。若不以特殊方式指明,shell并不会把他们当作普通字节符使用。
    常用的shell元字符及含义

    元字符含 义
    *代表任意字符串
    代表任意字符
    /代表根目录或作为路径间隔符使用
    |转义字符。当命令的参数要用到到保留字时,要在保留字前面加上转义字符
    \续行符。可以使用续行符将一个命令行分写在多行上
    $变量值置换,如$PATH表示环境变量PATH的值
    在‘…'中间的字符均被当作文字处理,指令、文件名、保留字等都不具有原来的意义
    "在"…"中间的字符会被当作文字处理并允许变量值置换
    `命令替换,置换`…`中命令的执行结果
    <输入重定向字符
    >输出重定向字符
    |管道字符
    &后台执行字符。在一个命令之后加上字符’&',该命令就会以后台方式执行
    分隔顺序执行的多个命令
    ()在子shell中执行的一组命令
    {}在当前shell中执行一组命令
    执行命令历史记录中的命令
    ~代表登录用户的宿主目录(自家目录)

    5.通配符的使用

    通配符说 明
    *匹配任何字符和任何数目的字符
    匹配任何单字符
    […]匹配任何包含在括号里的单字符
    [!..]匹配任何不包含在括号里的单字符

    注意:
    *能匹配文件或目录名中的.,但不能匹配首字符是.的文件或目录名。要匹配隐含文件应该使用.*

    ps

    刚开始接触Linux的时候,可能会比较枯燥,确实选择学习是一件令人非常枯燥无味的事情。不过没关系,后续学了命令之后,Linux还是比较有趣的,学到后面,你肯定会感觉Linux的效率比Windows的效率更高,坚持下去,你一定可以看到别人看不到的风景,写的有错误或不恰当的地方还请各位小伙伴批评指正!!!

  • 相关阅读:
    相机专业模型详解,各个参数作用,专业模式英文全称和缩写
    22岁天才少女加入华为,曾获“编程界的奥林匹克”世界冠军
    Mybatis-Plus实现日期字段自动填充
    机器学习(三)之监督学习2
    服务器无损升级技术解析
    linux小技巧-如何修改IP(四种方法)
    ZMQ之脱机可靠性--巨人模式
    微服务框架 SpringCloud微服务架构 5 Nacos 5.7 Nacos 与 Eureka 的对比
    2020年你可能遇到的高频面试题,Java中高级面试题(含答案)!
    Flask框架——Sijax
  • 原文地址:https://blog.csdn.net/m_de_g/article/details/126579397