名称 描述 代码 表示
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 的意思是,将 stdoutstderr 输出到指定位置,那么是不是可以用 cmd >a 2>a代替?不!虽然cmd >a 2>&1cmd >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. 【应用】for:批量修改文件名

    ## @echo off setlocal EnableDelayedExpansion rem set string=suffix for %%i in (*.txt) do ( set name= ...

  2. OpenCV人脸特效制作

    https://blog.csdn.net/zxc024000/article/details/50456917 https://blog.csdn.net/huanghuangjin/article ...

  3. android 首字母迷糊查询 拼音查询 中英文混排查询

    对于这个问题,还没有动手去做,暂且查了查资料,把思路记录下来: 1. 数据库保存拼音+汉字.在插入数据库的时候将这些信息保存下来,将来可以进行首字母模糊查询,拼音查询,中英文混排查询(参考手机通讯录数 ...

  4. 无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号

    无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号 参考官方配置指南:http://glew.sourceforge.net/install.html 1. ...

  5. Android创建AVD模拟器

    Android创建AVD模拟器 1. 新建一个安卓工程如下: 2. 点击windows里的 Android Virtual Device Manager,如果第一次安装 adt-bundle启动会出现 ...

  6. Python自动化开发 - 生成器、迭代器

    本节内容 1.列表生成式 2.生成器 3.迭代器 一.列表生成式 需求:把列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]里,每个元素都加1 # 复制版,重新绑定 a = [0, 1, ...

  7. Android-Kotlin-枚举enum

    案例一 星期: 星期的枚举:enum class 类名 {} package cn.kotlin.kotlin_oop09 /** * 定义星期的枚举类 */ enum class MyEnumera ...

  8. 如何获取帮助———— QQ群讨论摘要

    QQ群对话整理(删除一些简单的回应),对一些重要的地方,我做了一些加粗   宝玉 2015/9/21 1:49:05       这次题目还有个问题就是如何读取Excel,我想对于很多同学来说是个困难 ...

  9. postgresql 主从 patroni

    1 安装基础包 1.1 postgres yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_ ...

  10. WPF设计时

    资料太少.中文没有.英文的也残缺不全.待补充.问题暂时解决. 设计器通过使用命名约定来发现自定义设计时程序集 运行时程序集与设计时程序集对应关系 加载顺序 程序集名称(*表示版本号,可省略)    0 ...