名称 描述 代码 表示
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. (转)忘记wamp-mysql数据库root用户密码重置方法

    转自:http://www.jb51.net/article/28883.htm 1.打开任务管理器,结束进程  mysqld-nt.exe . 2.运行命令窗口 1)进行php服务管理器安装目录中的 ...

  2. 【repost】DOM CRUD

    //DOM 的 CRUD // c 创建create // 1.直接往body中动态的添加标签(可以是任意类型)document.write('helloWorld');document.write( ...

  3. (最长不降子序列)最少拦截系统 -- hdu -- 1257

    http://acm.hdu.edu.cn/showproblem.php?pid=1257 最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memo ...

  4. svn本地如何切换账号

    SVN如何切换账号   在使用svn更新或提交数据时需要输入用户名和密码,在输入框中可以选择是否记录,以便下次操作无需再次输入用户名和密码: 要切换其他用户名时,需要删除已记录用户的数据,在电脑桌面上 ...

  5. 【python】鼠标操作

    [python]鼠标操作 推荐地址:http://www.cnblogs.com/fnng/p/3288444.html --------------------------------------- ...

  6. Curl工具的使用

      Curl命令可以通过命令行的方式,执行Http请求.在Elasticsearch中有使用的场景,因此这里研究下如何在windows下执行curl命令. 工具下载 在官网处下载工具包:http:// ...

  7. Java 是值传递

    本质:传值/传地址值   以下搬运自知乎大佬   作者:Intopass链接:https://www.zhihu.com/question/31203609/answer/50992895来源:知乎著 ...

  8. 2018/6/29 关于hashmap的总结

    hashMap和ConcurrentHashMap的区别 hashMap内部具体如何实现的 如果hashMap的key是一个自定义的类,怎么办 为什么重写equals还要重写hashcode 一.什么 ...

  9. VS2015ASP.NET MVC5项目中Spring.NET配置方法(超详细)

    首先,在ASP.NET MVC5项目右键,如下图所示,选择“管理Nuget程序包...” 然后,在弹出的页面的搜索框中输入“spring.web”,在返回结果中选择Spring.Web和Spring. ...

  10. Tomcat安装及调试

    Web服务器的作用 1.接收客户端的请求 2.给客户端作出响应 我们也可以自己手写Web服务器,但是那样太麻烦,而且难度很大,所以我们可以 使用目前应用最广泛的Tomcat服务器 常见的Web服务器 ...