Shell 是一个程序,用于用户和操作系统进行交互,相当于是一个命令解析器,Shell 有很多种,其实现有很多细节差异,不过大部分的语法基本相同。
在 Linux 中默认的就是 Bash 实现,这里介绍其常用语法以及使用技巧。
Bash 是 Bourne-Again SHell 的所写,其中 Bourne 也是 Born 的双关语。
其中 Bourne Shell 是一个早期的重要 Shell,由史蒂夫·伯恩在 1978 年前后编写,Bash 则在 1987 年由布莱恩·福克斯创造,在 1990 年,Chet Ramey 成为了主要的维护者。
- 基本介绍 与 Bash 相关的介绍,例如配置文件、命令执行顺序、通配符、快捷键等。
基本概念
- 基本语法 与 Bash 相关的编程常用语法,例如基本的循环、变量、判断等。
- 重定向 简单介绍 Bash 中 IO 重定相关的内容,包括其使用方法。
- 命令注入 关于 Bash 中可能的命令注入以及相关的预防措施,通常因为直接通过 Bash 执行命令,但没有严格检查导致。
- 模拟终端 现在的终端严格来说就是终端模拟器,最常见的就是 VT100。
- 自动补全 介绍 Bash 的自动补全原理,以及如何实现自己的补全功能。
- 命令注释 定义命令参数时有约定,这里简单介绍。
- 常见错误 如何防止变量未初始化、设置陷阱等等常见的错误使用场景。
常用技巧
简单记录下在 Linux 下常用的一些技巧,以方便查询使用,例如生成随机字符串、特殊字符文件的处理、sudo 和 su 两个命令的区别等等。
- 随机内容 通过两个随机数发生器可以生成基本满足真随机的值。
- 常用脚本 总结一些常见的脚本,例如备份、日志清理等等。
- 常用技巧 整理常见的使用技巧,例如Here Document、特殊字符文件、字符集、绝对路径等。
其它
- glob 通常用于带有通配符的路径名,也可以作为简单的正则表达式使用。