Shell脚本和编程 | 青训营笔记

115 阅读5分钟

Shell脚本和编程

Shell基本概念

概念

  • Shell(也称为命令行界面或终端)是一种通过文本输入和输出进行交互的计算机用户界面。它允许用户通过输入命令来执行操作、运行程序和管理系统

  1. 命令(Command):Shell通过输入命令来执行不同的操作或任务,例如创建文件、复制文件、移动文件、运行程序等。命令通常由命令名和参数组成,命令名指定要执行的操作,参数用于指定命令的具体操作方式或作用对象。

  2. 提示符(Prompt):Shell在等待用户输入命令时会显示一个提示符,通常是一个特殊的字符或字符串,表示Shell已经准备好接受命令输入。

  3. 文件系统(File System):Shell可以用于管理计算机上的文件和目录,包括创建、复制、移动、删除、重命名、查看等操作。Shell使用文件系统的路径来定位文件和目录,例如绝对路径(从根目录开始的完整路径)和相对路径(从当前目录开始的相对路径)。

  4. 管道(Pipeline):Shell允许将多个命令通过管道连接起来,其中一个命令的输出作为另一个命令的输入。这样可以实现多个命令的组合和协作,从而更加灵活地完成复杂的任务。

  5. 环境变量(Environment Variable):Shell使用环境变量来存储系统级别的配置信息、用户配置和运行时参数。环境变量可以在命令中使用,并且可以通过设置和修改来影响Shell的行为和操作。

  6. 脚本(Script):Shell允许用户编写一系列命令的脚本文件,以便将一组命令作为一个单独的程序运行。脚本可以包含条件语句、循环、函数等控制结构,从而实现更加复杂的自动化任务。

  7. 快捷键(Shortcut):Shell提供了许多快捷键和命令行编辑功能,用于提高命令行操作的效率和便捷性。例如,可以使用上下箭头键来浏览历史命令,使用Tab键进行命令和文件名的自动补全,使用Ctrl+C来中断正在执行的命令等。

image.png

  • Shell`和Bash`能够理解为类和实例的关系

Bash的历程

image.png

以下内容当作课外内容补充(当故事看都行):

  1. 1989年:Bash由布莱恩·福克斯(Brian Fox)开发,并首次发布。Bash基于Bourne Shell(sh),是Bourne Shell的一种改进版本,它添加了许多新的特性,例如命令历史、命令行编辑、作业控制等。

  2. 1993年:Bash 1.12发布,这是Bash的第一个公开发布版本。Bash开始在Unix和Linux系统中广泛传播,并成为默认的命令行Shell。

  3. 1994年:Bash 2.0发布,引入了更多的新特性,包括命令别名、条件语句、循环、函数、算术运算等,使Bash变得更加强大和灵活。

  4. 2000年:Bash 2.05b发布,这是一个重要的版本,引入了很多新的特性,包括命令补全、目录堆栈、命令行参数处理等,进一步提升了Bash的用户友好性和交互性。

  5. 2007年:Bash 3.0发布,引入了更多的新特性,包括新的扩展属性、数组、关联数组等,使Bash更加适用于复杂的脚本编程和系统管理任务。

  6. 2011年:Bash 4.2发布,带来了许多新的特性和改进,包括新的内置命令、更强大的模式匹配、更灵活的历史命令管理、更高效的作业控制等。

  7. 2016年:Bash 4.4发布,带来了许多新的特性和改进,包括新的参数扩展、新的运算符、更好的错误处理、更强大的命令历史管理等。

  8. 2019年:Bash 5.0发布,引入了一些新特性,例如新的管道重定向符号、新的内置命令、新的变量扩展和运算符等,继续改进和增强了Bash的功能和性能。

构成

Unix shell既是一个命令解释器也是一种编程语言。作为命令解释器,shell为丰富的GNU工具集提供了用户接口。

image.png

学习心得

在Linux操作系统中,Shell脚本和编程是非常重要的技能,可以在很多方面提高工作效率和编程精度。以下是我学习Shell脚本和编程的一些心得:

  1. 学习Shell脚本之前需要熟悉基本的Linux命令,包括文件操作、目录切换、文件权限等。
  2. 在学习之前最好先有一个实际的需求或者场景,这样更加容易理解Shell脚本的作用和意义。
  3. Shell脚本的语法比较简单,但需要掌握的概念较多,例如变量、函数、条件语句、循环等,需认真学习和练习。
  4. 了解Shell脚本中的常见命令,例如awk、sed、grep等,这些命令在处理文本数据时非常有用。
  5. Shell脚本的调试和优化也是非常重要的一部分,要有耐心和技巧地进行调试,并且编写高效的代码。
  6. 学习Shell脚本最好是通过实践和项目,不断创新和尝试新方法,提高自身的编程水平。

总的来说,Shell脚本和编程是一项非常实用的技能,在工作与生活中都有广泛的应用,希望我的心得分享能够帮助到您。