zoukankan      html  css  js  c++  java
  • Linux 数据重定向

    名称 描述 代码 表示
    stdin 标准输入 0 < 或 <<
    stdout 标准输出 1 > 或 >>
    stderr 标准错误输出 2 2> 或 2>>

    • 1> - 以覆盖的方式将正确输出输出到指定位置(等同于>)
    • 1>> - 以追加的方式将正确输出输出到指定位置(等同于>>)
    • 2> - 以覆盖的方式将错误输出输出到指定位置
    • 2>> - 以追加的方式将错误输出输出到指定位置
    • &> - 以覆盖的方式将正确输出错误输出同时输出到指定位置
    • &>> - 以追加的方式将正确输出错误输出同时输出到指定位置
    • 2>&1 - 将错误输出正确输出的形式输出到指定位置
    • < - 将文件里的内容取代键盘作为新的输入设备
    • <<EOF - Here document






    例子

    正确输出重定向到文件

    [root@www ~]$ ls /etc > file
    [root@www ~]$ ls /etc/ 1> file
    

    正确输出追加重定向到文件

    [root@www ~]$ ls /etc >> file
    [root@www ~]$ ls /etc/ 1>> file
    

    错误输出重定向到文件

    [root@www ~]$ ls /etC 2> file
    

    错误输出追加重定向到文件

    [root@www ~]$ ls /etC 2>> file
    

    正确输出错误输出重定向到文件

    [root@www ~]$ ls /etc /etC &> file
    [root@www ~]$ ls /etc /etC > file 2>&1
    [root@www ~]$ ls /etc /etC 1> file 2>&1
    

    正确输出错误输出追加重定向到文件

    [root@www ~]$ ls /etc /etC &>> file
    [root@www ~]$ ls /etc /etC >> file 2>&1
    [root@www ~]$ ls /etc /etC 1>> file 2>&1
    

    输入重定向

    [root@www ~]$ cat test
    date
    [root@www ~]$/bin/bash test	
    2019年 02月 07日 星期四 09:14:10 CST
    

    Here document

    [root@www ~]$ cat << EOF >> test
    Hello World.
    EOF
    






    注意

    我们已知cmd >2 2>&1 的意思是,将 stdoutstderr 输出到指定位置,那么是不是可以用 cmd >a 2>a代替?不!虽然cmd >a 2>&1cmd >a 2>a 非常相似,但是这两种是有区别的,前者只会打开文件一次,而后者会打开两次,在第二次打开的时候,stderr 会覆盖 stdout,所以注意,这两种是不一样的。





  • 相关阅读:
    Chrome开发者工具中Elements(元素)断点的用途
    最简单的SAP云平台开发教程
    Java实现 LeetCode 495 提莫攻击
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 492 构造矩形
  • 原文地址:https://www.cnblogs.com/liuhedong/p/10351501.html
Copyright © 2011-2022 走看看