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,所以注意,这两种是不一样的。





  • 相关阅读:
    使用UFW防火墙拦截特定IP地址
    利用iptables防止syn flood攻击
    DDOS攻击模拟复现
    服务器遭到SYN攻击怎么办?如何防御SYN攻击?
    iptables限制同一IP连接数
    TIME_WAIT和CLOSE_WAIT状态区别
    详解TIME_WAIT过多,引起的请求502的问题。
    TIME_WAIT太多解决思路和方法
    黑客是如何攻击 WebSockets 和 Socket.io的
    免费CDN加速CloudFlare申请教程及使用 提供免费加速和防DDOS攻击
  • 原文地址:https://www.cnblogs.com/liuhedong/p/10351501.html
Copyright © 2011-2022 走看看