【字节前端训练营03】Shell 脚本和编程(1) | 青训营笔记

133 阅读3分钟

课程介绍

Shell是一种命令行界面,也是一种编程语言, 熟练掌握 Shell 能够大大提升 Unix/Linux环境下的工作效率。本课程将从其发展历史、基础语法开始,通过示例逐步深入, 不仅帮助大家学会使用 Shell ,也在一定程度上去理解 Shell 的执行原理和语法设计。

  • 字节内部课:字节前端初阶训练营 - 第3节
  • 课程PPT:飞书文档
  • 本节讲师:陈健,硕士毕业于北京邮电大学,2018年加入字节跳动,期间负责过视频云、公有云 IaaS toB 方向的相关业务, 目前主要负责 IaaS 前端团队 Node.js 前端工程化工作
  • 笔记撰写:百里飞洋

课程重点

  • shell 基础和语法
  • shell 执行过程和原理
  • shell 调试和前端集成

2023-99 (1)

学习shell的价值:

  1. Linux服务器的基本操作和管理
  2. 前端Node.js服务的进程管理、问题排查、资源监控等运维操作
  3. 使用shell编写TCE、SCM、Docker脚本,完成服务编译和部署

课程准备

  • 一台安装了 linux 系统的物理机或者云主机,可运行 shell 脚本
  • 本地的 vscode 安装 Bash Debug 插件,并升级 bash 到4.x以上(命令bash --version
  • Npm 全局安装 zx 依赖

01 Shell 基础概念

概念

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

    2023-99 (2)

  • ShellBash 的关系可以理解为类和实例的关系

  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来中断正在执行的命令等。

发展

2023-99 (3)

构成

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

2023-99 (4)