输入/输出设备(INPUT OUTPUT)
系统设定
默认输出设备:标准输出 STDOUT 1
默认输入设备:标准输入 STDIN 0
标准错误输出:STDERR 2
默认标准输入:键盘
默认标准输出和错误输出:显示器
linux I/O重定向
>:覆盖输出
>>:追加输出
set -C:禁止对已经存在的文件使用覆盖重定向
强制覆盖输出:则使用>|
set +C:关闭上述功能
2>:重定向错误输出
2>>:追加方式错误输出
&>:重定向标准输出和错误输出至同一个文件
<:输入重定向
<<:Here Document
例如:cat <<EOF
hello world
EOF
管道:一个命令的输出结果是另一个命令的输入
tee命令:既能在显示器显示,又同时能保存至文件
例如:echo "hellwold" | tee xx.txt
grep,egrep,fgrep
grep:跟进模式搜索文本,并将符合模式的文本显示出来
Pattern:文本字符和正则表达式的元字符组合而成匹配条件
grep 常用选项
-i 忽略大小写
-v 显示没有被匹配的行
-o 只显示被模式匹配得到的字符串
正则表达式:Regular Express,REGEXP
元字符(贪婪模式):
.:匹配任意单个字符
[]:匹配范围内的任意字符
[^]:匹配指定范围外的任意单个字符
字符集合:[:digit:] [:lower:] [:uper:] [:alpha:] [:alnum:] [:punct:]
匹配次数:
*:匹配其前面的字符任意次
.*:任意长度的任意字符
\?:匹配其前面的字符1次或者0次
\(m,n\):匹配其前面的字符至少m次,至多n次
例如:\(1,\) \(1,3\)
位置确定
^:行首
$:行尾
^$:空白行
/<或者\b:锚定词首,其后面的任意字符必须作为单词首部出现
/>或者\b:锚定词尾,其前面的任意字符必须作为单词尾部出现
分组:
\(\)
\(ab\)*
后向引用:
\1:第一个左括号
\2:
\3: