shell | 青训营笔记

63 阅读2分钟

**学习shell价值:

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

课程准备

  1. 有一台安装Linux的物理机或云主机
  2. 可运行shell版本;
  3. 本地的vscode安装bash debug插件,并升级bash到4.0以上
  4. npm全局安装zx依赖

章节:

  1. shell的基础概念
  2. 命令与语法
  3. 执行过程与原理
  4. 调试和前端集成

1.shell的基础概念: 在了解shell之前,先知道:终端和tty(打印机,和终端等价,早期的电传打印机是在Linux中的输入输出环境) 而现在的是终端模拟器(模拟终端,模拟tty,是关联虚拟的输入输出环境),而shell是处理这些来自终端模拟器的输入,处理后执行结果给输出 bash是一种具体的实现(可以视为一种版本?)

构成: 1.解释器 1.1 bash内置命令; 1.2 GNU核心工作集; 1.3 第三方库;

2.编成语言:变量,运算,语句,函数等;

变量,运算符,引用等

父子进程:父进程在执行命令时会进行一个子进程,在子进程处理完数据后会返还给父进程,让父进程继续进行;

操作符:

  1. - >`:将命令的输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则覆盖。

    • >>:将命令的输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则在文件末尾追加。
    • 2>:将命令的错误输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则覆盖。
    • &>:将命令的输出和错误输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则覆盖。
    • <:将一个文件的内容作为命令的输入。
    • <<:将一段字符串作为命令的输入。