架构师

您现在的位置是:首页 > 技术博客 > 爱运维

爱运维

什么是输出重定向?什么是管道符?Linux系统通配符有哪些?

架构师小跟班 2019-08-15爱运维
输出重定向标准输出重定向命令>文件以覆盖的方式把命令的正确输出写到指定的文件或设备中命令>>文件以追加的方式把命令的正确输出写到指定的文件或设备中标准错误输出重定

输出重定向

标准输出重定向

命令>文件

以覆盖的方式把命令的正确输出写到指定的文件或设备中

命令>>文件

以追加的方式把命令的正确输出写到指定的文件或设备中

标准错误输出重定向

错误命令 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]代表匹配一个不是数字的字符

文章评论