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才执行,你错误了我2就不执行。

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

管道符

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

Bash中的其他特殊符号

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

      实例: 
      这里写图片描述

猜你喜欢

转载自www.cnblogs.com/hopelooking/p/8926437.html