^ 行首定位符
$ 行尾定位符
. 匹配单个字符
* 匹配零个到多个字符重复的位于型号之前的字符
[] 匹配一组字符中的任一个
[x-y] 匹配指定范围的一个字符
[^] 匹配不在指定组内的字符
\ 用作转义的字符
\< 词首定位符
\> 词尾定位符
\(..\) 匹配稍后将要使用的字符的标签
x\{m\} 字符x的重复出现
x\{m,\} 至少m次出现
x\{m,n\} 至少m次且不超过n次
扩展的:
? 零个或一个重复再+号前的字符
+ 一个或多个重复再+号前的字符
a|b 匹配a或者b
() 代表一个字符组
Linux给程序员三种I/O频道:
标准输入 (STDIN) -默认接受来自键盘的输入
标准输出 (STDOUT) -默认输出到终端窗口
标注错误 (STDERR) -默认输出到终端窗口
常见重导向操作符号:
命令 > 文件 -把命令标准输出重导向到文件
命令 >> 文件 -把命令的标准输出后补到文件中
命令 < 文件 -把文件作为输入发送给命令
命令2> 文件 -把命令中的错误输出重导向到文件
命令2>> 文件 -把命令的错误输出后补到文件中
例子:
1.)cat < /etc/issue
2.)cat /etc/issue > /root/cat.redect
3.)ls /etc/ > /root/ls.out
4.)ls /ect/ 2> /root/ls2.err
5.)ls /etc > /root/ls3.out 2> /root/ls.err
6.)ls /etc &> /root/ls5.out (同5)
创建一个菜单:(shell脚本)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/bash
#addmenu.sh
#Author:Our RHCE Team
#Version:0.0.01
FILE=`mktemp /tmp/menu.XXXXXX`
cat>>$FILE <<EOF
=====================================================
| |
| |
| |
| MENU |
| |
| |
| options |
| |
=====================================================
EOF
cat $FILE
rm -f $FILE
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
管道命令:
命令1| 命令2 |
把命令1输出的发送给命令2的输入;STDERR不能通过管道转发。
组合多种功能: 命令1| 命令2 |命令3 等等
命令1 | tee 文件名 | 命令2
把命令的输出保存在文件名中,然后管道输入给命令2。
cat /etc/issue | tee /root/tee.out(显示/etc/issue内容并保存到/root/tee.out文件中)
read命令:从stdin中“读取”一个变量的值, 也即是和键盘进行交互来取得变量的值
格式:read [options] var1 var2 var3 …
常用选项:
-s 安静模式,输入的字符不显示
-p “String” 读取输入之前打印出后边的提示符
-t timeout 读取到数据前等待的时间,超时则停止
read -p "please give a char" OPT ==echo "please give a char" ; read OPT