1.常用命令(#sh,chmod,cmd;cmd,echo,pintf,cat,export,bc,date,head,tail,wc,sort,uniq,dd,mount,touch,chmod,chown,ifconfig,route,host,nslookup,ping,traceroute,ssh,rsync,lsof,netstat,#),result=$(cmd)
2.脚本编写规则(#!/bin/bash)
3.变量相关(#var="value",${var},${#var},#)
4.shell运算(#let var++,let var+=6,var=$[ $var1 + $var2 ],var=`expr $var1 + $var2`,var=$(expr $var1 + $var2) #)
5.重定向输入与输出(>,<,>>,<<),管道( | )
6.数组相关(array=(0 1 2 3 4 5),${array[0]},array[0]="hello",${array[*]},${array[@]},${#array[*]},declare -A array,array[index]="index",)
7.函数相关(fname() { cmd;cmd; },fname arg1 arg2)
8.控制语句
example1:
for ip in 219.21.4.{1..244}; do cmd;cmd; done
example2:
while [ -f $path ] && [ $string1 == $string2 ];do cmd;cmd; done
example3:
until [ $var1 -gt $var2 ]; do cmd;cmd;done
example4:
if [ $string1 == $string2 ]; then cmd;cmd; elif [ $string1 > $string2 ]; then cmd;cmd; else cmd;cmd;fi
8.判断语句 && ||
(1)算术比较 (# -eq, -ne, -gt , -lt, -ge #) [ $var1 -ne $var2 ]
(2)文件判断(# -f -x -d -e -c -b -w -r -L #)
(3)字符串比较(# == , != , > , < , -z , -n #)
9.通配符介绍 ==> *,[list],?,[!list],[c1-c2],{$string1,$string2}
使用通配符是注意: shell 首先对通配符进行解析,解析完才接下来执行命令
10.元字符 ==> IFS , = , $ , < , > , | , $ , () , {}, ; , &&(返回为真,执行下一条命令) , || (返回为假, 执行下一条命令)
11.转义符 ==> ' '," ",\ 主要功能是实现转义,使得命定不解释这个符号的意义。
12.正则表达式(find 默认采用通配符的形式完成条件的匹配,但是在-regex下使用正则匹配)(egrep 使用扩展的正则表达式)
==> ^,$,[],[^],[-],?,+,*,(),{n},{n,},{n,m},|,\,
13.find -name -exec -maxdepth -mindepth -type =====> | xargs(从字符串输入中格式化成参数,以供命令使用)
find . -type f | xargs -I {} echo the result of {} is here;
find . -type f | xargs echo ;
14.文本处理(grep,sed,awk)
(1)正则表达式