zoukankan      html  css  js  c++  java
  • shell输出输入流常用符号解释

    >> 追加

    > 覆盖

    >& 把前面的保存位置设置成后面的保存位置

    P.S.:当然还有反的<< < <&意思就是方向不一样啦、往后追加变成往前追加、这就不重复写了

    0 标准输入

    1 标准输出

    2 标准错误

    例子:

    ls /usr/tmp 2> err.file

    把命令所产生的错误写入到err.file文件中、如果不存在则创建、如果存在则覆盖

    ls /usr/tmp &> output.file

    把错误和输出信息都写入到err.file文件中、如果不存在则创建、如果存在则覆盖

    command 2>&1

    把标准错误信息输出到标准输出的同一位置上、commadn代表任何命令、这段话其实是废话、加上去和直接运行command无区别、因为标准输出的位置就是输出在屏幕上、标准错误信息把位置输出标准输出的位置上、也就是屏幕上、等于没做过任何改变、因为标准错误和标准输出信息本来就是一样输出在屏幕上、不然莪们还怎么操作linux啊、囧

    command >output_file 2>&1

    这个命令就开始有点意思了、command同样代表任何命令、迩可以是ls显示目录、也可以是lsdflsl这样的错误命令、当然、迩输入正确的命令得到的将会是标准输出信息、输入错误的命令得到的就是标准错误的信息、好吧、这个命令的前半部分意思就是把命令的结果输入到output_file这个文件中、如果没有就创建、存在就覆盖、当然这个命令的结果可能是正确的命令也可能是错误的、但有一点是不变的、就是如果是标准输出信息就一定会把信息放进output_file文件中、所以当迩输入ls这样的正确命令当然是把标准输出的命令写进去output_file啦、如果迩输入的是lsdfsf这样错误的命令标准输出的命令当然是不会在output_file写上任何信息啦、但由于有后面的那句、2>&1、意思就是标准错误信息会同样往标准输出信息同样的位置写入、所以就算标准输出没有任何信息写入、发生错误时标准错误还是会往output_file写上任何错误信息、所以这条命令和ll &>output.file意思其实是一样的、


  • 相关阅读:
    PotPlayer直播源分享
    关于MySQL服务无法正常启动问题
    MySQL介绍及安装环境配置
    MySQL 常用命令
    Oracle【序列、索引、视图、分页】
    Oracle【二维表的维护】
    Oracle【二维表管理:约束】
    JDBC事务
    JDBC的两种sql命令发送器比较【Statement:PreparedStatement】
    mysql InnoDB存储引擎
  • 原文地址:https://www.cnblogs.com/klobohyz/p/2307244.html
Copyright © 2011-2022 走看看