Linux日常之数据重定向

Linux在启动后,会默认打开3个文件操作符,分别是

  (1)标准输入0,standard input

  (2)正确输出1,standard output

  (3)错误输出2,standard error

 

对于一条Linux命令执行的过程是:

  (1)首先存在一个输入:可以从键盘输入,也可以从文件输入

  (2)若命令成功执行,将会把结果输出到屏幕上(默认是输出到屏幕的)

  (3)若命令执行失败,同样会把结果输出到屏幕上(默认也是输出到屏幕的)

 

在使用的过程中,有时不希望把结果输出到屏幕上,而是希望输出到文件或其他设备上,这是就需要使用所谓的数据重定向

Linux下的输入输出操作符:

  (1)标准输入(stdin):0,使用<或<<

  (2)正确输出(stdout):1,使用>或>>

  (3)错误输出(stderr):2,使用2>或2>>

  注意,其中<或>表示覆盖,<<或>>表示追加

 

输出重定向

  1. 已知test.sh存在,而test1.sh不存在

    

    此时,正确输出和错误输出都显示在屏幕上!

  2. 要求,把正确输出写入文件stdout.txt中,错误输出显示在屏幕上

    

  3. 要求,把错误输出写入文件stderr.txt中,正确输出显示在屏幕上

    

  4. 要求,把正确输出和错误输出都写入统一文件stdall.txt中

    

  5. 要求,将错误信息关闭,使用的是2>&-

    

  6. 要求,将所有的输出信息都关闭,使用的是1>&- 2>&-

    

 

  扩展:“> file 2>&1”与 “2>&1 > file”的区别

    (1)“> file 2>&1”,将正确输出和错误输出都重定向到文件file中

      

    (2)“2>&1 > file”,将错误输出显示在屏幕上,将正确输出重定向到文件file中

      

 

输入重定向

  1. 从键盘获得数据,按下【Ctrl】+d即可保存离开

    

  2. 以给定字符作为结束

    

  3. 从文件file获取数据

    

 

posted on 2017-11-29 21:52  一个不会coding的girl  阅读(1524)  评论(0编辑  收藏  举报

导航