• linux 输出重定向


    格式:

    command-line1 [1-n] > file或文件操作符或设备

    上面命令意思是:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的)  重定向其它输出设备(文件,打开文件操作符,或打印机等等)1,2分别是标准输出,错误输出。

    #显示当前目录文件 test.sh test1.sh test1.sh实际不存在
    [chengmo@centos5 shell]$ ls test.sh test1.sh
    ls: test1.sh: 没有这个文件和目录
    test.sh
     
    #正确输出与错误输出都显示在屏幕了,现在需要把正确输出写入suc.txt
    # 1>可以省略,不写,默认所至标准输出
    [chengmo@centos5 shell]$ ls test.sh test1.sh 1>suc.txt
    ls: test1.sh: 没有这个文件和目录
    [chengmo@centos5 shell]$ cat suc.txt 
    test.sh
     
    #把错误输出,不输出到屏幕,输出到err.txt
    [chengmo@centos5 shell]$ ls test.sh test1.sh 1>suc.txt 2>err.txt
    [chengmo@centos5 shell]$ cat suc.txt err.txt 
    test.sh
    ls: test1.sh: 没有这个文件和目录
    #继续追加把输出写入suc.txt err.txt  “>>”追加操作符
    [chengmo@centos5 shell]$ ls test.sh test1.sh 1>>suc.txt 2>>err.txt 
     
    #将错误输出信息关闭掉
    [chengmo@centos5 shell]$ ls test.sh test1.sh 2>&-
    test.sh
    [chengmo@centos5 shell]$ ls test.sh test1.sh 2>/dev/null
    test.sh
    #&[n] 代表是已经存在的文件描述符,&1 代表输出 &2代表错误输出 &-代表关闭与它绑定的描述符
    #/dev/null 这个设备,是linux 中黑洞设备,什么信息只要输出给这个设备,都会给吃掉 
     
    #关闭所有输出
    [chengmo@centos5 shell]$ ls test.sh test1.sh  1>&- 2>&- 
    #关闭 1 ,2 文件描述符
    [chengmo@centos5 shell]$ ls test.sh test1.sh  2>/dev/null 1>/dev/null
    #将1,2 输出转发给/dev/null设备 
    [chengmo@centos5 shell]$ ls test.sh test1.sh >/dev/null 2>&1
    #将错误输出2 绑定给 正确输出 1,然后将 正确输出 发送给 /dev/null设备  这种常用
    <p>[chengmo@centos5 shell]$ ls test.sh test1.sh &>/dev/null
    #& 代表标准输出 ,错误输出 将所有标准输出与错误输出 输入到/dev/null文件
    </p>
    
  • 相关阅读:
    《测试工作量的时间评估》方案梳理
    GitHub 生成密钥
    Jenkins+Jmeter持续集成(五、Ant+GitLab持续构建)
    Linux下查看文件和文件夹大小
    Java Runtime.exec()的使用
    如何启动/停止/重启MySQL
    浅析Java语言慢的原因
    chattr命令锁定账户敏感文件
    SOAP协议初级指南 (三)
    SOAP协议初级指南 (二)
  • 原文地址:https://www.cnblogs.com/fenle/p/4801118.html
Copyright © 2020-2023  润新知