嵌入式Linux开发教程:Linux Shell(嵌入式linux开发教程pdf)

本章重点介绍Linux的常用操作和命令。在介绍命令之前,先对Linux的Shell进行了简单介绍,然后按照大多数用户的使用习惯,对各种操作和相关命令进行了分类介绍。对相关命令的介绍都力求通俗易懂,都给出操作实例,使读者能够照着实际操作,并得到正确结果。命令是Linux操作系统的利器,务必掌握好,当然不可能一下子熟练掌握,但是只要多加练习,就可熟能生巧,运用自如。最后对Linux的环境变量也进行了必要的介绍。

3.1 Linux Shell

3.1.1 Shell是什么

前面已经提到过,Linux系统为用户提供了多种用户界面,包括Shell界面、系统调用和图形界面。其中Shell界面是UNIX/Linux系统的传统界面,也可以说是最重要的用户界面,无论是服务器、桌面系统还是嵌入式应用,都离不开Shell。

Shell,英文本意是外壳,Linux Shell就是Linux操作系统的外壳,为用户提供使用操作系统的接口,是Linux系统用户交互的重要接口。登录Linux系统或者打开Linux的终端,都将会启动Linux所使用的Shell。

Linux Shell一个命令解释器,是Linux下最重要的交互界面,从标准输入接收用户命令,将命令进行解析并传递给内核,内核则根据命令,作出相应的动作,如果有反馈信息,则输出到标准输出上,示意过程如图 3.1所示。嵌入式Linux的标准输入和输出都是串口终端。

嵌入式Linux开发教程:Linux Shell(嵌入式linux开发教程pdf)

图3.1 命令输入和结果输出

Shell既能解释自身的内建命令,也能解释外部命令,如系统某个目录下的可执行程序。Shell首先判断是否是自己的内建命令,然后再检查是不是系统的应用程序,如果不是内建命令,在系统也找不到这个应用程序,则提示错误信息,如果找到了应用程序,则应用程序调入系统调用时陷入内核。

Shell也是一种解释型的程序设计语言,并且支持绝大多数高级语言的程序元素,如变量、数组、函数以及程序控制等。Shell编程简单易学,任何在Shell提示符中输入的命令都可以放到一个可执行的Shell程序文件中。Shell文件其实就是众多Linux命令的集合,也称为Shell脚本文件。

3.1.2 Shell的种类和特点

Linux Shell有多种Shell,比较通用且有标准的主要分为两类:Bourne Shell(sh)和C Shell (csh),各自包括几种具体的Shell,具体如表 3.1所列。

嵌入式Linux开发教程:Linux Shell(嵌入式linux开发教程pdf)

Bourne Shell是UNIX最初使用的shell,在每种UNIX上都可以使用。Bourne Shell的优点是在Shell编程方面很好,缺点是用户的交互不如其他几种Shell。

Bourne Again Shell简称Bash,是Bourne Shell的扩展,与Bourne Shell完全向后兼容,在Bourne Shell的基础上增加了很多新特性。Bash提供了命令补全、命令编辑和命令历史表等功能,还包含了很多C shell和Korn shell中的优点,使用灵活,界面友好,编程方便,是GNU/Linux操作系统的默认Shell。

Korn Shell由AT&T的Bell实验室David Korn开发,吸收了所有C Shell的交互式特性,并融入了Bourne shell的语法,与Bourne shell完全兼容。

C Shell由Bill Joy在BSD系统上开发,增强了用户交互功能,并将编程语法变成了C语言风格,还增加了命令历史、别名、文件名替换、作业控制等功能。目前使用较少。

在不同发行版中,所采用的默认Shell也有所不同,如Redhat和Fedora中默认Shell为bash,Ubuntu中用了dash。无论用哪种Shell,登录系统后系统将运行一个Shell进程。根据不同用户,Shell提供不同的命令提示符,root用户的提示符为“#”,普通用户的命令提示符为“$”,在命令提示符下输入命令即可与系统进行交互。

尽管不同发行版的默认Shell有可能不同,但是所采用的Shell一般都具有如下特性:

  • 具有内置命令可供用户直接使用;
  • 支持复合命令:把已有命令组合成新的命令;
  • 支持通配符(*、?、[]);
  • 支持TAB键补齐;
  • 支持历史记录;
  • 支持环境变量;
  • 支持后台执行命令或者程序;
  • 支持Shell脚本程序;
  • 具有模块化编程能力,如顺序流控制、条件控制和循环控制等;
  • Ctrl C能终止进程。

本文版权由致远电子(www.zlg.cn)周立功所有,请勿转载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月1日 下午3:22
下一篇 2024年5月1日 下午3:34

相关推荐

  • 南天信息系统项目管理

    以南天信息系统项目管理为例 南天信息系统项目管理是一个非常重要的项目,它是南天公司为了提升信息系统的质量和效率而进行的一个大规模项目。本文将以南天信息系统项目管理为例,探讨项目管理…

    科研百科 2024年12月25日
    0
  • 科研项目主要负责人同意变更负责人说明

    科研项目主要负责人同意变更负责人说明科研项目主要负责人同意变更负责人说明创新型人才是新型创新型人才是指通过改革创新发展机制,通过变式发展模式,改变所处环境和信息领域的特点,以适应社…

    科研百科 2024年11月26日
    4
  • oa合同管理系统

    oa合同管理系统:企业合同管理的未来选择 随着企业数字化转型的不断推进,合同管理已经成为企业日常运营中不可或缺的一部分。传统的合同管理方式不仅效率低下,还容易出错,给企业带来不必要…

    科研百科 2025年1月2日
    1
  • 项目管理系统调研

    项目管理系统调研 随着现代企业的快速发展,项目管理水平的重要性也越来越凸显。一个好的项目管理系统可以帮助企业有效地组织、协调和管理项目,提高项目的成功率和绩效。本文将对现有的项目管…

    科研百科 2024年12月15日
    5
  • 科研项目劳务费和人工费科研项目劳务费和人工费

    科研项目劳务费和人工费 科研项目的劳务费和人工费是项目中非常重要的一项支出,它们直接影响着项目的进度和质量。在大多数项目中,劳务费和人工费通常由项目团队或公司承担,并且通常按照一定…

    科研百科 2024年6月18日
    107
  • uniapp开发微信小程序怎么使用字体

    标题:使用字体在 Uniapp 开发微信小程序中的重要性 字体是我们生活中不可或缺的一部分,无论是文字、图片、图标还是音频视频,它们都能为我们的生活带来不同的体验和感受。在 Uni…

    科研百科 2024年11月30日
    37
  • 企业办公协同工作总结(企业办公协同)

    企业办公协同:提升工作效率,降低沟通成本 随着企业规模不断扩大,企业之间的协作变得越来越重要。然而,传统的个人电脑办公方式已经无法满足现代企业的需求,因此企业办公协同成为了企业日常…

    科研百科 2024年8月26日
    25
  • “安全生产大家谈”活动方案

    安全生产大家谈活动方案 随着中国经济的快速发展,安全生产问题也日益凸显。为了增强公众的安全意识,提高企业的管理水平,我们拟举办“安全生产大家谈”活动,旨在通过宣传、交流和探讨,推动…

    科研百科 2024年11月6日
    1
  • 医学生物科研项目名称大全医学生物科研项目名称大全

    医学生物科研项目名称大全 随着医学生物技术的不断发展,医学生物科研项目的名称也在不断变化和扩展。这些项目的名称不仅反映了研究人员对疾病和生物体的研究兴趣,也反映了他们的研究方法和研…

    科研百科 2024年9月8日
    25
  • 大学重大科研项目排名

    近年来,随着全球科技的快速发展,大学在科研项目方面取得了巨大的进展。在最新的大学重大科研项目排名中,以下是一些全球著名的大学和他们的科研项目: 1. 麻省理工学院(MIT) 麻省理…

    科研百科 3天前
    2