目录
一、shell的作用
1.1 常见shell解释器
1.2 bash基本特性
1.2.1 快捷键、Tab键补全
1.2.2 历史命令(history)
1.2.3 历史别名(alias)
1.2.4 标准输入与输出的重定向
1.2.5 管道(|)
1.3 shell执行命令的方式
二、脚本设计与运行
2.1 什么是shell脚本
2.2 规范脚本的构成
2.3 执行脚本的多种方式
三、总结
一、shell的作用
Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执 行的操作传递给内核执行,并输出执行结果
1.1 常见shell解释器
/bin/bash:是目前大多数Linux 版本采用的默认shell
/bin/sh:已经被bash替换
/bin/csh:类似c语言的shell
/bin/tcsh:整合了csh提供了更多功能
/bin/nologin:这个shell可以让用户无法登录
解释器负责将用户的指令翻译为内核可以识别的指令
通过usermod、chsh可以更改登录shell
1.2 bash基本特性
1.2.1 快捷键、Tab键补全
ctrl+A 光标跳到最前
ctrl+E 光标跳到最后
ctrl+C 撤销命令
ctrl+L 清屏
1.2.2 历史命令(history)
1.2.3 历史别名(alias)
1.2.4 标准输入与输出的重定向
>正确结果的重定向(清空文本)
>>正确结果的重定向(追加到文本后面)
2>错误结果的重定向
2>>正确结果的重定向
&>正确错误都重定向
1.2.5 管道(|)
大家如今在使用这些快捷键、Tab补全、历史命令等等操作时,认为是理所当然的,然而这些功能都是bash特有的,其他shell环境没有这些功能,或者说没有这么全,所以bash取代sh成为了Linux的默认shell
1.3 shell执行命令的方式
1.交互式(命令行)
人工干预
追条解释执行、效率低
2.非交互式(脚本)
需要提前设计
批量执行、效率高
二、脚本设计与运行
常见脚本语言(使用相应的解释器)
shell脚本
Python/Perl/Ruby脚本
JSP/PHP脚本
。。。。。。
2.1 什么是shell脚本
提前将可执行的命令语句写入一个文件,顺序执行,解释器逐行解释代码
第一个shell脚本
1.新建文件
2.添加可执行语句(命令)
3.给文件添加x执行权限
vim first.sh echo "Hello World" #这个不是规范的脚本
2.2 规范脚本的构成
一个合格规范的脚本应该包含一下内容
1.#!脚本声明,使用哪种解释器解释代码
2.注释信息,以#开头为注释信息
3.可执行语句;
#!/bin/bash #this is first shell echo "Hello World"
2.3 执行脚本的多种方式
1.需要为文件赋予可执行的权限
绝对路径
相对路径
2.不需要文件有可执行的权限
sh/bash +脚本文件名
source 或. +脚本文件名 #不会启动子进程
不建议使用 source,可能会影响一些资源配置
三、总结
#!/bin/bash
shell解释器 bash、sh、tcsh
脚本就是命令的堆叠,将想要的执行的命令放入一起
shell脚本的作用:节省人力、节约开支、自动化运维
执行脚本的方式
1.路径+脚本名 需要权限
绝对路径
相对路径
2.调用解释器 不需要权限
bash 脚本名
source . 不建议使用