Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

重定向 >/>>/&>/&>>/<

  • 重定向标准输出(0号文件描述符)

    • ls -l /usr/bin > ls-output.txt
      • 会把输出结果,覆写到 txt文件中 (即先清空原有文件中的所有内容)
    • ls -l /usr/bin >> ls-output.txt
      • 会把输出结果,追加到 txt文件的最后面
    • ls -l /uuuuu > ls-output.txt
      • 这时候,发现txt文件是空的,因为事先被清空了,但前面的命令出错,并没有东西流向标准输出,所以是空的
      • 有两种方式可以捕捉到流出的错误
        • 【1】重定向标准错误(即用到2号文件描述符)
          • ls -l /uuuuu 2> ls-error.txt
            • 这样就会把错误输出,覆写到txt文件中
        • 【2】把标准错误也同时进行重定向
          • ls -l /uuuuu &> ls-output.txt
            • 也可以用&>>进行追加
    • ls -l /usr/bin > /dev/null
      • 会把输出重定向到这个特殊的系统设备文件,通常称作 bit bucket,可以接收结果但不做任何处理
  • 重定向标准输入(1号文件描述符)

    • cat < ls-output.txt
      • 把txt文件的内容,作为输入,使其流入cat命令
      • 其实没什么用,等价于cat ls-output.txt