linux命令学习篇

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)正则表达式

你可能感兴趣的:(linux,shell,正则表达式,通配符)