shell脚本和编程
shell用于linux的基本操作和管理,可以编写脚本,可以完成前端Node.js服务的一系列运维操作,包括进程管理、问题排查、资源监控等
shell可做解释器,包括bash内置命令、GNU核心工具集、第三方库;也可编程语言:配置相关变量、进行逻辑和算数运算、进行相关语句的运用、定义使用函数
自定义变量相关代码
系统环境变量
常见运算符和引用
管道与管道符 | ,将前一个命令的结果传递给后面的命令
语法为:cmd1 | cmd2
要求: 管道右侧命令必须能接受标准输入,如grep命令,ls、mv等命令不能直接用,但可以使用xargs先进行预处理
注意: 管道命令仅仅处理stdout,对stderr会予以忽略,可使用set -o pipefail设置shell遇到管道错误退出
重定向
输出重定向符号 输入冲定向符号
覆盖写入文件 <
追加写入文件 <<
2>错误输出写入文件
&>正确和错误输出统一写入到文件中
常用命令
个人拓展:
Linux中可以自行编写一段程序,利用POSIX API提供的当前路径,打开、关闭目录,读取目录、文件属性获取等函数仿写ls-l命令,能够获取当前的工作目录路径,并且对此路径下的所有文件的文件名文件的属性进行打印显示。此方法是通过编程,用ls-l命令对管道的运用。 结果如图
Linux中可以自行编写一段程序,利用POSIX API提供的文件打开、文件读、文件写和文件关闭等函数仿写cp命令,命名为mycp根据mycp命令参数的差异,实现以下两个功能:在同一个目录下复制一个文件为另一个文件和复制一个文件到另一个目录下。结果如图
对shell脚本的基本操作熟悉程度尤为重要,熟练使用可以大大提高工作效率,我们要加深对相关命令的记忆与使用熟练度。