Linux重定向和管道符

一、输出重定向

>代表以覆盖的方式将命令的正确输出输出到指定的文件或设备当中。
>>代表以追加方式输出。

常用的输出重定向:

  • 1.命令 >> 文件 2>&1 :以追加的方式,把正确输出和错误输出都保存在文件中。
  • 2.命令&>文件名:以覆盖的方式将正确和错误输出都保存在文件中。
  • 3.命令&>>文件名:以追加的方式将正确和错误输出都保存在文件中。
  • 4.命令>>文件A 2>>文件B:正确的输出到A文件中,错误的输出到B文件中。

    注意:只要涉及到错误输出,>或者>>两侧都不能有空格。

    例子:

    这里写图片描述

    关于黑洞:可以把一些不需要显示的命令丢进黑洞(/dev/null)

    这里写图片描述

二、输入重定向

  • 命令<文件名:把文件作为命令的输入,例如wc命令时统计行,单词书和字符的。

    例子:这里写图片描述

三、多命令顺序执行

  • 1.命令1;命令2 :执行完1再执行2,命令之间没有任何逻辑联系

    这里写图片描述

  • 2.命令1&&命令2:&&是一个“自私”符号,即命令1正确命令2才执行,命令1错了命令2就不执行。

  • 3.命令1||命令2:是一个备胎符号,即1不行了2就上,1行的话我就不执行。

四、管道符

命令格式:命令A|命令B,即命令1的正确输出作为命令B的操作对象。

五、Bash中的其他特殊符号

  • 单引号‘’ :引号内的所有字符都只是字符而已,没有特殊含义。
  • 双引号”“ : 除了$`和\之外,均无特殊含义。
  • ` :反引号(按键盘右上角带~的键会打出反引号),反引号内部的内容是系统命令,在Bash中会先执行他,例如aa=$(ls),那么ls执行的结果会赋给aa。
  • $() : 和反引号作用一样,推荐使用。
  • # :shell脚本中代表注释。
  • $ :用于调用变量的值,相当于C语言的*。
  • 实例:
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/fuhanghang/article/details/83187804