linux bash 命令重定向和多命令执行
转自:http://blog.csdn.net/qq_16811963/article/details/52997178
输出重定向
>代表以覆盖的方式将命令的正确输出输出到指定的文件或设备当中。
>>代表以追加方式输出。
常用的输出重定向:
- 1.命令 >> 文件 2>&1 :以追加的方式,把正确输出和错误输出都保存在文件中。
- 2.命令&>文件名:以覆盖的方式将正确和错误输出都保存在文件中。
- 3.命令&>>文件名:以追加的方式将正确和错误输出都保存在文件中。
-
4.命令>>文件A 2>>文件B:正确的输出到A文件中,错误的输出到B文件中。
注意:只要涉及到错误输出,>或者>>两侧都不能有空格。
例子:
关于黑洞:可以把一些不需要显示的命令丢进黑洞(/dev/null)
输入重定向
-
命令<文件名:把文件作为命令的输入,例如wc命令时统计行,单词书和字符的。
例子:
多命令顺序执行
-
1.命令1;命令2 :执行完1再执行2,命令之间没有任何逻辑联系
-
2.命令1&&命令2:&&是一个“自私”符号,即命令1正确我命令2才执行,你错误了我2就不执行。
- 3.命令1||命令2:是一个备胎符号,即1不行了2就上,1行的话我就不执行。
管道符
命令格式:命令A|命令B,即命令1的正确输出作为命令B的操作对象。
Bash中的其他特殊符号
- 单引号‘’:引号内的所有字符都只是字符而已,没有特殊含义。
- 双引号”“: 除了$`和\之外,均无特殊含义。
- “:反引号,反引号内部的内容是系统命令,在Bash中会先执行他,例如aa=$(ls),那么ls执行的结果会赋给aa。
- $(): 和反引号作用一样,推荐使用。
- #:shell脚本中代表注释。
- $:用于调用变量的值,相当于C语言的*。
-
:转义符。
实例: