**学习shell价值:
- Linux服务器的基本操作及管理;
- 前端Node.js服务的进程管理、问题排查\资源监控等运维操作;
- 使用shell编写脚本完成服务编译及部署
课程准备
- 有一台安装Linux的物理机或云主机
- 可运行shell版本;
- 本地的vscode安装bash debug插件,并升级bash到4.0以上
- npm全局安装zx依赖
章节:
- shell的基础概念
- 命令与语法
- 执行过程与原理
- 调试和前端集成
1.shell的基础概念: 在了解shell之前,先知道:终端和tty(打印机,和终端等价,早期的电传打印机是在Linux中的输入输出环境) 而现在的是终端模拟器(模拟终端,模拟tty,是关联虚拟的输入输出环境),而shell是处理这些来自终端模拟器的输入,处理后执行结果给输出 bash是一种具体的实现(可以视为一种版本?)
构成: 1.解释器 1.1 bash内置命令; 1.2 GNU核心工作集; 1.3 第三方库;
2.编成语言:变量,运算,语句,函数等;
变量,运算符,引用等
父子进程:父进程在执行命令时会进行一个子进程,在子进程处理完数据后会返还给父进程,让父进程继续进行;
操作符:
-
->`:将命令的输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则覆盖。 -
>>:将命令的输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则在文件末尾追加。
-
2>:将命令的错误输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则覆盖。
-
&>:将命令的输出和错误输出重定向到一个文件中,如果文件不存在则创建,如果文件已经存在则覆盖。
-
<:将一个文件的内容作为命令的输入。
-
-
<<:将一段字符串作为命令的输入。
-