一 BashShell
1 BashShell
1.1 Bash的理解:是shell的一种,是一个过程,是一个在运行的程序
1.2Bash shell功能:history,tab补全,alias别名,shellscripts,Wildcard
1.3type
1.4指令下达\
2 Shell变量功能
2.1 变量的取用与设定:echo,unset
2.1.1 变量的设定和取用规则:
1) 双引号和单引号的区别使用
2) \对[Enter],$,\,'
3) 其他指令得到信息$(uname-r)或`uname-r`
4) export
5) unset
6) 取用时候${}
2.2 环境变量:env(HOME,SHELL,PATH,HISTORY,RANDOM);所有变量:set(PS1,$,?)
2.3 变量键盘读取、数组和宣告
read-p "get from key" key(跳转\)
declare-aixr varible
content[index]
2.4 ulimit
2.5 变量的删除、取代和替换
echo${PATH#/*kerbers/bin:} #,##,%,%%,/,//
2.6-fault
2.7alias unalias
aliaslm='ls -al|more'
2.8hostoty
3 BashShell 操作环境
3.1 搜寻路径type-a echo
3.2 Bash环境配置
loginshell:/etc/profile{PATH,MAIL,USER,HOSTORY},~/.bash_profie(/etc/inputrc,/etc/profile.d等non-loginshell:其他环境配置文件
source读入环境配置文件
3.3 终端机的环境配置
stty-a
4 通配符与特殊符号
4.1 通配符
*,?,[],[-],[^]
4.2 特殊符号
#:批注,\:跳脱,|:管线,;:连续下达,~:家目录,$,/,>,>>,<,<<,'',"",``,{},()
5 文件重定向
cat> catfile < ~/.bashrc
6 命令判断语句
;,&&,||
7 线管命令
ls-al /etc |less
8 截去命令
cut:以行为单位 echo$PATH |cut -d ':' -f 5
grep:last|grep 'root';last |grep -v'root'
二 正规表达式
1 用途
以行为单位处理【搜寻/删除/取代】字符串的方法,通配符是在文件和目录中使用,正规表达式在文件内容中使用
2 grep高级用法
dmesg|grep -A3 -B2 -n --color=auto 'eth'
grep-n 'the' regulat.txt
grep-vn 'the' regulat.txt
grep-n 't[ae]st' regular.txt
grep-n '[^g]oo' regular.txt
grep-n '[^a-z]' regular.txt
grep-n '^the' regular.txt
grep-n '\.$' regular.txt
grep-n 'g...d' regular.txt
grep-n 'ooo*' regular.txt
grep-n 'o\{2,5\}' regular.txt
3 基础正规表达式
^,[n1-n2],.,*,\{n,m\},$
4 sed工具:有替换删除等grep没有的功能
行为单位删除和增加
nl/etc/passwd|sed '2,5d'
nl/etc/passwd|sed '2a hello ...\[enter] hello'
nl/etc/passwd|sed '2,5c NO 2-5 number'
5 awk数据处理工具
三 ShellScripts
1 shellscripts 执行方式
路径(子shell),bash(子shell),source(在shell上)
2 数值运算
var=$((运算内容)
3 test测试功能和判断式使用
&&,||
4 判断符号[ ]
括号内的变数,常数要用双引号扩起来,每个组建有空格
5 shellscripts的默认变数(参数)
$0,$1,$2,$3,$4
$#,$@,$*
shift参数号码偏移
6 条件判断式
if[];then
...
fi
if[];then
...
else
...
fi
if[];then
...
elif[];then
...
fi
case$1 in
"hello")
...
;;
")
...
;;
esac
7 利用function
functionprintit(){echo "Your choise is $1"},使用:printit1相当与printit又是一个shellscripits程序1相当于他的参数
8 loop
while[]
do
...
done
until[]
do
...
done
forvar in con1 con2 con3
do
...
done
for((;;))
do
...
done
9 shellscripts追踪与Debug
sh[-nvx] script.sh