1.什么是shell
命令解释器 识别用户输入的各种命令,并传递给操作系统 用户交互的界面 控制系统的脚本语言
2.shell解释器的类型(bash--sh)
3.查看主机默认的shell和支持的shell有哪些?$SHELL
如何查看当前系统默认shell?
[root@localhost ~]# echo $SHELL
/bin/bash如何查看当前系统支持的shell?
[root@localhost ~]# cat /etc/shells
[root@HAHA ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
4.什么是shell脚本
用shall脚本运行的代码文件.sh
5.如何创建一个shell脚本
(1)多使用内部命令 内部命令可以在性能方面为你节省很多 type time
(2)用最少的命令
(3)尽量不要使用交互式命令
6.shell脚本执行方式:3种 数据 判断 循环
7.运行shell脚本
+x( 文件需要执行权限 ) ./FILE.sh
/dir/FILE.sh
bash FILE.sh -- 开启shell
source FILE.sh
8.bash -n FILE.sh 脚本语法检测,不执行脚本文件
bash -x FILE.sh跟踪脚本执行,执行脚本文件
##########################################################
echo -n(取消输出后行末的换行符号) -e(支持反斜线控制的字符转换) \a(输出警告音) \t(制表符,也就是Tab键) \n(换行符) \e(Esc键向右删除键)
[root@localhost ~]# echo -e "\e[1;31m abed \e[0m"
[root@localhost ~]# echo -e "\e[1;31;42m abcd \e[0m"
这条命令会把 abcd 按照红色输出。
解释一下这个命令:\e[字体控制选项;字体背景颜色;文字颜色m 字符串 \e[0m 代表颜色输出结束
文字颜色:30m=黑色,31m=红色,32m=绿色,33m=黄色,34m=蓝色,35m=洋红,36m=青色,37m=白色。
字体背景色:40m=黑色,41m=红色,42m=绿色,43m=黄色,44m=蓝色,45m=洋红,46m=青色,47m=白色。
字体控制选项:1表示高亮,4表示下划线,5颜色闪烁
printf "格式化%s%d-5%f\n" 参数
%s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。
- 表示左对齐,没有则表示右对齐
%-4.2f 指格式化为小数,其中 .2 指保留2位小数,4是总长度
############################################################################
命令执行顺序
; --命令的顺序执行 date; ls -l /etc/passwd
&&与 --前面命令执行不成功,后面的命令不执行 id haha && userdel -r haha
||或--如果前面命令成功,后面就不执行,如果前面不成功后面就执行
! 非
通配符(匹配文件名)
* 匹配 0 个或任意多个任意字符,也就是可以匹配任何内容
?匹配一个任意字符
~表示当前目录的主目录
.表示当前目录
..表示上一级目录
-匹配上一次所切换的路径
[a1b2] 匹配中括号中任意一个字符。
[a-z] 匹配中括号中任意一个字符, -代表一个范围。
[^a-z] 逻辑非,表示匹配不是中括号内的一个字符。
[:alnum:] :匹配任意一个字母或者数字
[:digit:] :匹配任意一个数字