浅析Linux中重定向问题

 更新时间:2017年08月01日 11:50:41   作者:叨叨斋  
这篇文章主要介绍了浅析Linux中重定向问题,需要的朋友可以参考下

简介

      在计算领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells。类Unix操作系统的程序可以通过dup2系统调用完成重定向,或者通过缺少一些灵活性但是更高一级层次的freopen(3)和popen来完成。

1重定向

1.1      重定向符号

>               输出重定向到一个文件或设备 覆盖原来的文件
>!              输出重定向到一个文件或设备 强制覆盖原来的文件
>>             输出重定向到一个文件或设备 追加原来的文件
<               输入重定向到一个程序

1.2标准错误重定向符号

2>             将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件  b-shell
2>>           将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1         将一个标准错误输出重定向到标准输出 注释:1 可能就是代表 标准输出
>&             将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件  c-shell
|&              将一个标准错误 管道 输送 到另一个命令作为输入

1.3命令重导向示例

在 bash 命令执行的过程中,主要有三种输出入的状况,分别是:

1. 标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <

2. 标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>

3. 错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>

[test @test test]# ls -al > list.txt

将显示的结果输出到 list.txt 文件中,若该文件以存在则予以取代!

[test @test test]# ls -al >> list.txt

将显示的结果累加到 list.txt 文件中,该文件为累加的,旧数据保留!

[test @test test]# ls -al 1> list.txt  2> list.err

将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err

[test @test test]# ls -al 1> list.txt 2> &1

将显示的数据,不论正确或错误均输出到 list.txt 当中!错误与正确文件输出到同一个文件中,则必须以上面的方法来写!不能写成其它格式!

[test @test test]# ls -al 1> list.txt 2> /dev/null

将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃! /dev/null ,可以说成是黑洞装置。为空,即不保存。

1.4为何要使用命令输出重导向

• 当屏幕输出的信息很重要,而且我们需要将他存下来的时候;
• 背景执行中的程序,不希望他干扰屏幕正常的输出结果时;
• 一些系统的例行命令(例如写在 /etc/crontab 中的文件)的执行结果,希望他可以存下来时;
• 一些执行命令,我们已经知道他可能的错误讯息,所以想以『 2> /dev/null 』将他丢掉时;
• 错误讯息与正确讯息需要分别输出时。

总结

以上所述是小编给大家介绍的Linux中重定向问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Bash中数组的操作教程

    Bash中数组的操作教程

    这篇文章主要介绍了Bash数组操,包括定义数组、读取数组、修改数组以及数组循环,文中通过示例代码给出了详细的介绍,有需要的朋友可以参考下,下面来一起看看吧。
    2016-12-12
  • shell脚本无密码登录 expect的使用方法详解

    shell脚本无密码登录 expect的使用方法详解

    这篇文章主要介绍了shell脚本无密码登录 expect的使用方法详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • linux whatis与whatis database 使用及查询方法(man使用实例)

    linux whatis与whatis database 使用及查询方法(man使用实例)

    在学习man命令时候,估计很多朋友都发现有man –f ,man –k 参数,可以查出很多数据。这些有的与man手册页相同,有些不是属于手册页的。它们数据怎么收集来的,并且whatis是怎么样工作的
    2015-10-10
  • 浅谈Shell 流程控制

    浅谈Shell 流程控制

    这篇文章主要介绍了Shell 流程控制的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • Linux命令之ps命令使用详解

    Linux命令之ps命令使用详解

    这篇文章主要给大家介绍Linux命令之ps命令使用方法,文中有详细的代码示例,对我们学习Linux命令有一定的帮助,感兴趣的同学可以参考阅读下
    2023-06-06
  • 局域网远程开机软件制作代码分享

    局域网远程开机软件制作代码分享

    局域网远程开机软件制作代码分享,大家可以参考使用,要网卡支持,需要gtk+2.0 的库支持UI
    2013-12-12
  • 详解Linux常用的四种压缩命令

    详解Linux常用的四种压缩命令

    这篇文章主要详细介绍了Linux常用的四种压缩命令,tar命令,gzip命令,rar命令和zip命令,并通过代码示例给大家讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-03-03
  • Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    下面小编就为大家带来一篇Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • shell查找当前目录下大于1M的文件的三种方法分享

    shell查找当前目录下大于1M的文件的三种方法分享

    查找当前目录下大于1M的文件的三种方法,有需要的朋友可以参考下
    2013-02-02
  • Linux用脚本实现“时分秒“倒计时功能

    Linux用脚本实现“时分秒“倒计时功能

    这篇文章主要介绍了Linux用脚本实现“时分秒“倒计时功能,本文图文实例相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12

最新评论