浅析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中重定向问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Linux Shell脚本系列教程(四):使用函数添加环境变量

    Linux Shell脚本系列教程(四):使用函数添加环境变量

    这篇文章主要介绍了Linux Shell脚本系列教程(四):使用函数添加环境变量,本文对环境变量的一知识作了介绍,并给出普通添加环境变量和使用函数添加环境变量的方法,需要的朋友可以参考下
    2015-06-06
  • Shell命令解析之set命令的用法和参数详解

    Shell命令解析之set命令的用法和参数详解

    set 命令作用主要是显示系统中已经存在的 shell 变量,以及设置 shell 变量的新变量值,这篇文章主要介绍了Shell命令解析之set命令的用法和参数详解,需要的朋友可以参考下
    2023-10-10
  • 一天一个shell命令 linux文本操作系列-tree命令详解

    一天一个shell命令 linux文本操作系列-tree命令详解

    这篇文章主要介绍了一天一个shell命令 linux文本操作系列-tree命令详解,需要的朋友可以参考下
    2016-06-06
  • 判断文件是否存在的shell脚本代码

    判断文件是否存在的shell脚本代码

    判断文件是否存在的shell脚本,有详细的注释,很不错,有需要的朋友不妨参考下
    2013-02-02
  • 积累linux常用命令大全

    积累linux常用命令大全

    Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、驱动、键盘、鼠标,还是用户等都是文件,Linux命令是它正常运行的核心,这篇文章主要总结了linux常用命令,需要的朋友可以参考下
    2015-08-08
  • Linux下使用tcpdump抓包的实现方法

    Linux下使用tcpdump抓包的实现方法

    tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。这篇文章主要介绍了Linux下使用tcpdump抓包的实现方法,需要的朋友可以参考下
    2015-10-10
  • Shell命令批量杀死进程的方法实现

    Shell命令批量杀死进程的方法实现

    本文主要介绍了Shell命令批量杀死进程的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 一天一个shell命令 linux文件内容操作系列-cat命令详解

    一天一个shell命令 linux文件内容操作系列-cat命令详解

    这篇文章主要介绍了一天一个shell命令 linux文件内容操作系列-cat命令详解,需要的朋友可以参考下
    2016-06-06
  • Shell脚本入门之编写格式与执行方式的实现

    Shell脚本入门之编写格式与执行方式的实现

    这篇文章主要介绍了Shell脚本入门之编写格式与执行方式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • shell脚本实现本地文件与服务器文件同步

    shell脚本实现本地文件与服务器文件同步

    这篇文章主要介绍了本地文件与服务器文件同步shell脚本的方法,然后在文章给大家补充介绍了shell脚本备份本地服务器的文件到远程服务器的实例代码,需要的朋友可以参考下
    2017-11-11

最新评论