1.Shell是个啥: shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令的集合 shell脚本可以实现自动化运维,能大大增加我们的运维效率

2.Shell脚本结构和执行 开头需要 #!/bin/bash 脚本内容中以#开头的行作为解释说明 编写脚本时用#添加作者、用途、功能等注释,方便日后查看和使用 脚本的名字一般用“.sh”结尾,区分这是一个shell脚本 执行方法有两种: 给脚本添加执行权限“chmod 755 1.sh”,然后直接执行该脚本“./1.sh”; 使用sh或bash执行 # sh 1.sh;

3.date命令的用法 date 可以用来显示或设定系统的日期与时间 命令参数 -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; 日期格式字符串列表 %H 小时(以00-23来表示) %I 小时(以01-12来表示) %K 小时(以0-23来表示) %l 小时(以0-12来表示) %M 分钟(以00-59来表示) %P AM或PM %r 时间(含时分秒,小时以12小时AM/PM来表示) %s 总秒数。起算时间为1970-01-01 00:00:00 UTC %S 秒(以本地的惯用法来表示) %T 时间(含时分秒,小时以24小时制来表示)
%d 日期(以01-31来表示) %D 日期(含年月日) %m 月份(以01-12来表示) %U 该年中的周数 %w 该周的天数,0代表周日,1代表周一,异词类推 %x 日期(以本地的惯用法来表示) %y 年份(以00-99来表示) %Y 年份(以四位数来表示) [root@dl-001 shell]# date +%Y //查看当前年份(四位显示) 2018 [root@dl-001 shell]# date +%y //查看当前年份(简化显示) 18 [root@dl-001 shell]# date "+%Y-%m-%d %H:%M:%S %w" //查看当前 年 月 日 时 分 秒 星期 2018-12-20 10:01:00 6 [root@dl-001 shell]# date +%F //查看当前完整的年月日 2018-12-20 [root@dl-001 shell]# date +%W //查看当前时间是一年的第几周 50 [root@dl-001 shell]# date +%T //查看当前时间是几点 10:01:38

4.shell脚本中的变量 当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替 使用条件语句时,常使用变量    if [ $a -gt 1 ]; then ... ; fi 引用某个命令的结果时,用变量替代   n=wc -l 1.txt 写和用户交互的脚本时,变量也是必不可少的  read -p "Input a number: " n; echo $n   如果没写这个n,可以直接使用$REPLY 内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ....       $#表示参数个数 数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]

5.shell中的逻辑判断 if判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if …; then … ;elif …; then …; else …; fi 逻辑判断表达式: if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 切记[]里的两边都要有空格 且可以使用 && || 结合多个条件 if [ $a -gt 5 ] && [ $a -lt 10 ]; then if [ $b -gt 5 ] || [ $b -lt 3 ]; then

if 判断文件、目录属性 [ -f file ]判断是否是普通文件,且存在 [ -d file ] 判断是否是目录,且存在 [ -e file ] 判断文件或目录是否存在 [ -r file ] 判断文件是否可读 [ -w file ] 判断文件是否可写 [ -x file ] 判断文件是否可执行 例:if [ -f 1.txt ]