基础

0:表示标准输入stdin
1:表示标准输出stdout,系统默认为1,可省略(即1>/dev/null等价于>/dev/null)
2:表示标准错误stderr >:表示重定向(即将输出定向到指定路径文件,>/dev/null表示将标准输出重定向到空设备文件,即不输出任何信息到终端,即不显示任何信息。)
2>&1:其中的&表示等同于的意思,即2(标准错误stderr)的重定向等同于1

cmd 1>a 2>a 和cmd 1>a 2>&1的区别

  • cmd >a 2>a :stdout和stderr都直接送往文件 a ,a文件会被打开两遍,由此导致stdout和stderr互相覆盖。

  • cmd >a 2>&1 :stdout直接送往文件a ,stderr是继承了FD(File Descriptor)1的管道之后,再被送往文件a 。a文件只被打开一遍,就是FD1将其打开。

    个人感觉有点C++中指针的意思(换汤不换药)

两者的不同点在于:

  • cmd >a 2>a 相当于使用了FD1、FD2两个互相竞争使用文件 a 的管道;

  • cmd >a 2>&1 只使用了一个管道FD1,但已经包括了stdout和stderr。

    从IO效率上来讲,cmd >a 2>&1的效率更高。

2&>1实际用途(即错误的输出被合并)

  • 清理系统邮件日志(比如crontab处理)

    cmd >/dev/null 2&>1
    其中0表示键盘输入1表示屏幕输出2表示错误输出,把标准出错重定向到标准输出,然后扔到/dev/null(代表空设备文件)下面去。
  • 将标准错误stderr与stdout一同显示出来

    ./test.sh > test2.log 2>&1

linux 重定向命令详解(如1>/dev/null 2>&1)的更多相关文章

  1. linux lsof命令详解

    linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访 ...

  2. Linux curl 命令详解

    命令概要 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FT ...

  3. [转贴]linux lsof命令详解

    linux lsof命令详解 https://www.cnblogs.com/sparkbj/p/7161669.html 简介 lsof(list open files)是一个列出当前系统打开文件的 ...

  4. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  5. linux cat 命令详解

    linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...

  6. Linux netstat命令详解

    Linux netstat命令详解 一  简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...

  7. linux sort 命令详解(转 )

    linux sort 命令详解 sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比 ...

  8. Linux find命令详解

    转自Linux find命令详解 一.find 命令格式 1.find命令的一般形式为: find pathname -options [-print -exec -ok ...] 2.find命令的 ...

  9. Linux cat命令详解

    本文主要内容源自网络,参考资料如下: 华夏名网,linux cat命令详解,http://www.sudu.cn/info/html/edu/20070101/290711.html 命令格式:cat ...

随机推荐

  1. 02.centos6.4找不到ifcfg-eth0(静态ip配置)

    1.默认情况在/etc/sysconfig/network-scripts/目录下面找不到ifcfg-eth0文件,我们需要手动copy 1.1动态ip配置 #cp ifcfg-lo ifcfg-et ...

  2. Vue.js Failed to resolve filter: key

    转自:https://stackoverflow.com/questions/35835214/vue-js-failed-to-resolve-filter-key I am following t ...

  3. 【JEECG技术文档】Online唯一校验使用说明

    1.功能介绍 配置了唯一校验的字段,在录入和编辑页面中,动态查询用户输入值是否存在校验. 要使用online唯一校验功能必须先在online表单开发中配置唯一字段的校验方式为唯一校验. 2.配置唯一校 ...

  4. redis如何清除所有的key

    redis比memcache好的地方之一,如果memcache,恐怕就得关掉重启了. 1 使用cli FLUSHDB 清除一个数据库,FLUSHALL清除整个redis数据. 2 使用shell re ...

  5. java实现生成二维码

    package com.cn.test; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.a ...

  6. 爬虫--scrapy+redis分布式爬取58同城北京全站租房数据

    作业需求: 1.基于Spider或者CrawlSpider进行租房信息的爬取 2.本机搭建分布式环境对租房信息进行爬取 3.搭建多台机器的分布式环境,多台机器同时进行租房数据爬取 建议:用Pychar ...

  7. C++复习:继承与派生

    1继承概念 面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.说了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础. 要 ...

  8. ARP协议,以及ARP欺骗

    1.定义: 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上 ...

  9. 我理解的BFC(块级格式化上下文)

    BFC(Block formatting context) 直译为"块级格式化上下文". BFC它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Bl ...

  10. CSS强制换行和禁止换行代码

    一.强制换行      1.word-break: break-all;       只对英文起作用,以字母作为换行依据.      2.word-wrap: break-word;   只对英文起作 ...