名称 描述 代码 表示
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 的意思是,将 stdout 和 stderr 输出到指定位置,那么是不是可以用 cmd >a 2>a代替?不!虽然cmd >a 2>&1 与 cmd >a 2>a 非常相似,但是这两种是有区别的,前者只会打开文件一次,而后者会打开两次,在第二次打开的时候,stderr 会覆盖 stdout,所以注意,这两种是不一样的。

Linux 数据重定向的更多相关文章

  1. [转]linux shell数据重定向(输入重定向与输出重定向)详细分析

      在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件 ...

  2. 每天学点Linux命令之Linux-Shell中的数据重定向与管道命令

    在Linux shell中, 数据重定向使用 > < 符号,管道命令使用 | 符号链接前后两个命令. 具体区别如下: 数据重定向 1.(>): 左侧应该有标准输出 > 右侧只能 ...

  3. Linux中的数据重定向

    重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard e ...

  4. Linux日常之数据重定向

    Linux在启动后,会默认打开3个文件操作符,分别是 (1)标准输入0,standard input (2)正确输出1,standard output (3)错误输出2,standard error ...

  5. Linux Shell 重定向与管道【转帖】

    by 程默 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以 ...

  6. Linux shell 重定向学习笔记

    在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读 ...

  7. linux命令重定向>、>>、 1>、 2>、 1>>、 2>>、 <

    重定向命令其实用得不少吧,只是重来都没有仔细看过,这波正好又用到 又有空总结一波. 先看>和>>: 他们俩其实唯一的区别就是>是重定向到一个文件,>>是追加内容到文 ...

  8. linux-shell数据重定向详细分析

    在了解重定向之前,我们先来看看linux 的文件描述符.linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写 ...

  9. Linux数据包路由原理、Iptables/netfilter入门学习

    相关学习资料 https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html http://zh.wik ...

随机推荐

  1. winSockets编程(五)非阻塞模式(远程算数程序)

    ##

  2. noip第1课作业

    1.    求三个数的乘积和三次方和 [问题描述] 编程实现输入任意三个整数a, b, c,将这三个数的乘积以及三次方和输出: [样例输入] 1 2 3 [样例输出] 6 36 #include &l ...

  3. C++ 中的异常机制分析

    C++异常机制概述 异常处理是C++的一项语言机制,用于在程序中处理异常事件.异常事件在C++中表示为异常对象.异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统 ...

  4. codeforces 877b

    B. Nikita and string time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  5. execl 导入

    /** * 导入Excel功能   是把execl表中的数据添加到数据表中 */ public function import(){ if (!empty($_FILES)) { $file = re ...

  6. nodeclub config

    配置文件,本来想着分成好几个文件,放在一个文件夹中,后来觉得也没必要,原因是,配置文件看一遍也就记住了,分开反而显得繁琐,注释写清楚就好. // 路径模块 var path = require('pa ...

  7. android延时弹出软键盘

    searchEditView.setFocusable(true); searchEditView.setFocusableInTouchMode(true); searchEditView.requ ...

  8. Martin Fowler 分层测试概念博文分享

    在我们测试工作中,常常遇到这样的问题:开发与测试团队分属不同的不同(部门隔离.沟通不畅),质量职责划分不清(出现bug往往都是测试人员背锅),需求的不确定和易变性(需求不断变化导致代码不停更新.产品重 ...

  9. SSO集成方案[随笔]

    看这个方案之前,先说明下为什么要加入SSO,以防对大家产生不好的影响.我们产品使用传统winform+db服务+Db存储方式开发,一群老菜帮子开发,以传统的datatble做数据传递,很多年了未有变化 ...

  10. 作业调度系统quartz.net

    任务调度在我们日常开发过程中非常常见,比如:每天晚上0点自动执行某某操作:每周三晚上2点执行某某操作:......当然,我们处理这类问题的方法也有很多,比如:sql的自动任务:windows上创建任务 ...