globbing:文件名通配
匹配模式:元字符
*:匹配任意长度的任意字符
?:表示任意单个字符
[]:匹配指定范围内的任意单个字符
有几种特殊模式:
[a-z],[A-Z],[0-9],[a-z0-9]
[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:alnum:]]:所有字母和数字
[[:space:]]:所有空白字符
[[:pucnt:]]:所有标点符号
[^]:匹配指定范围外的任意单个字符
[^[:upper:]]:匹配不是大写字母的
[^0-9]:匹配不是数字的
例:显示/var目录下以l开头,以小写字母结尾,中间跟一位任意字符的目录或文件。
显示/testdir/目录下,以任意一位数字开头,且以非数字结尾的问件或目录
显示/etc目录下,以非字母开头,后面跟一个字母及其它任意长度任意的字符的文件或目录
ls -d /etc/[^[:alpha:]][[:alpaha:]]*
IO重定向及管道
程序:指令+数据
程序:IO
可用于输入的设备:键盘
可用于输出的设备:显示器
程序的数据流有三种:
输入的数据流:<--标准输入 ( stdin ,键盘)
输出的数据流:-->标准输出 (stdout,显示器,准确的说是用户终端控制台),
错误的数据流:--> 标准错误输出(stderr)是由解释器辅助的数据流
fd:file descriptor,文件描述符
标准输入:0
标准输出:1
错误输出:2 (不要搞错,你搞错,就很2.)
IO重定向:
输出重定向:>
特性:覆盖输出,
输出重定向:>>
特性:追加输出,
注意:set命令可以控制覆盖重定向,
-C:文件存在时,禁止覆盖输出重定向e
+C:开启覆盖重定向
要想强制覆盖输出重定向就用: >|
错误输出流重定向:2>,2>>
合并正常输出流和错误输出流:&> &>> (2>&1)unix血脉正统高贵兼容性强
(1)&>, &>>
(2)COMMAND > /path/to/somefile 2>&1
COMMAND >> /path/to/somefile 2>&1
输入重定向:<
tr命令:删除或替换
tr [OPTION]... SET1 [SET2]
对位的模式
here Document:<< 此处文档
cat < 显示在屏幕上
cat < /path/to/somefile/ <<EOF 输出到文件中
管道:连接程序,实现将前一个命令的结果用作后一个命令输出;