什么是输出重定向?什么是管道符?Linux系统通配符有哪些?
输出重定向
标准输出重定向
命令>文件
以覆盖的方式把命令的正确输出写到指定的文件或设备中
命令>>文件
以追加的方式把命令的正确输出写到指定的文件或设备中
标准错误输出重定向
错误命令 2> 文件
以覆盖的方式把命令的错误输出写到指定的文件或设备中,2和>之间不能有空格
错误命令 2>>文件
以追加的方式把命令的错误输出写到指定的文件或设备中
正确输出和错误输出同时保存
命令>文件 2>&1 或 命令&>文件
以覆盖的方式,把正确输出和错误输出都保存到同一个文件中
命令>>文件 2>&1 或 命令&>>文件
以追加的方式,把正确输出和错误输出都保存到同一个文件中
命令>>文件一 2>>文件二
把正确的输出追加到文件1中,把错误的输出追加到文件2中
注:如果文件不存在,则会在当前目录下创建
输入重定向
多命令顺序执行与管道符
命令1;命令2
多个命令顺序执行,命令之间没有任何逻辑联系
命令1&&命令2
逻辑与,当命令1正确执行,则命令2才会执行;当命令1执行不正确,则命令2不会执行
命令1||命令2
逻辑或,当命令1执行不正确,则命令2才会执行;当命令1正确执行,则命令2不会执行
命令1|命令2
管道符,命令1的正确输出作为命令2的操作对象
举例:
命令 && echo yes || echo no 命令执行成功则打印yes,命令执行失败则打印no
通配符
? 匹配一个任意字符
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容
[] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-] 匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字母
[^] 逻辑非,表示匹配不是中括号内的一个字符,例如:[^0-9]代表匹配一个不是数字的字符