1.I/O
(1)系统设定
默认输出设备:标准输出(显示器),STDOUT,1(描述符)
默认输入设备:标准输入(键盘),STDIN,0
标准错误输出(显示器):STDERR,2
(2)I/O重定向
>:覆盖标准输出
>>:追加标准输出
set -c:禁止对已存在文件使用覆盖重定向,若强制覆盖输出,则使用>1
set +c:关闭上述功能
2>:重定向错误输出
2>>:追加方式
例:ls /a > /tmp/a.out 2> /tmp/err.out
&>:重定向标准输出或标准错误输出
<:输入输入重定向
(3)管道:前一个命令的输出作为后一个命令的输入
(4)grep:根据模式搜索文本,并将符合模式的文本行显示出来
模式:文本字符和正则表达式的元字符组合而成匹配条件
grep [options] '模式' [文件...]:使用基本正则表达式定义的模式来过滤文本
-i:忽略大小写
--color:加颜色显示
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串
-E:使用扩展正则表达式
-A:后面跟数字,显示匹配到的那一行及后面n行的内容
-B:显示前面n行
-C:显示前后各n行
2.正则表达式
(1)元字符
.:匹配任意单个字符
[ ]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
(2)匹配次数(贪婪模式)
*:匹配其前面的字符任意次
\?:匹配其前面的字符1次或0次
\{m,n}:匹配其前面的字符至少m次,至多n次
(3)位置锚定
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行
\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现
\(数字):后引用
\1:引用第一个左括号以及与之对应的右括号所包含的内容
\2:引用第二个左括号以及与之对应的右括号所包含的内容
......
3.扩展正则表达式
(1)字符匹配
.,[ ],[^]
(2)次数匹配
*, ?, {m,n}
+:匹配前面的字符至少1次
(3)位置锚定
^,$,\<,\>
(4)分组
同上
(5)或者
|:表示or