===============1.有些人经常问我这个问题问题===========

经常在脚本里面看到这个    2>&1     表示什么意思啊?

==============2.理论==========================

在linux中,每个进程都会有三个文件,并且这三个文件会进行重定向处理:

/dev/stdin          ----->/proc/self/fd/0             //表示标准输入,即键盘输入

/dev/stdout        ----->/proc/self/fd/1     //表示标准输出,即显示屏,屏幕

/dev/stderr         ---->  /proc/self/fd/2           //表示标准错误输出,有些脚本运行时会报错,就会输入到这。

你看到的2>&1中的数字就是上面重定向后的数字。

0: 表示键盘输入

1:将信息输入到屏幕(一般linux命令都是默认为1)

2:将信息输入到错误输出

===================3.举个栗子====================

在终端中写一个sh文件

>>>>>>>>>>>>>>

$cat  demo.sh

#!/bash/bin

xxxx

date

<<<<<<<<<<<<<<

执行这个sh文件,并将输出到demo.log中

./demo.sh > demo.log
./demo.sh: line 2: xxxx: command not found

由于xxxx不是linux命令会报错,并且将错误信息输出到屏幕(标准输出),而date是linux

命令,会正确输出,并将正确的信息输出到demo.log文件中

cat demo.log
Sat Mar  5 09:49:11 HKT 2016

==============4.再回头看最开始的问题============

2>&1  意思就很明了了,就是讲执行linux命令时的错误信息也输出到屏幕上。

./demo.sh 2>&1
./demo.sh: line 2: xxxx: command not found
Sat Mar  5 09:57:09 HKT 2016

===============收工======================

linux中的标准输出和输入的更多相关文章

  1. linux中Shell标准输出错误 >/dev/null 2>&1 分析【转】

    Shell中可能经常能看到:>/dev/null  2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print ...

  2. linux中的输入从定向和输出重定向

    linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到li ...

  3. 在Linux中输入命令时打错并按了enter

    今天在Linux中输入命令时,打错一个单词了,之后出现一串串的~,按ESC也没用, 并在底部出现:quit<enter> to exit vim 解决办法: 按几下 esc 确保 vim ...

  4. Linux中检索文件

    1 , Use locate command It is a fast way to find the files location, but if a file just created ,it w ...

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

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

  6. <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...

  7. linux中socket的理解

    对linux中socket的理解 一.socket 一般来说socket有一个别名也叫做套接字. socket起源于Unix,都可以用“打开open –> 读写write/read –> ...

  8. Linux中exec命令相关

    Linux中exec命令相关 exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. b ...

  9. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

随机推荐

  1. RabbitMQ学习笔记(二):基础概念

    前言 上一篇已经通过springboot对rabbitmq的简单封装实现了消息的发送和消费,虽然功能简单,但已经大概了解了它的使用方法.接下来陆续介绍RabbitMQ中的几个核心概念:Queue,Ex ...

  2. com.alibaba.com.caucho.hessian.io.SerializerFactory getDeserializer

    2016-1-27 14:40:25 com.alibaba.com.caucho.hessian.io.SerializerFactory getDeserializer 警告: Hessian/B ...

  3. [iOS]XCODE5升级之路

    1.Code Sign error:     解决方案:重新下载并安装Provisioning profile 2.错误:Undefined symbols for architecture armv ...

  4. SharePoint 2013 页面中window/document.onload/ready 事件不能触发的解决方案

    问题1:在SharePoint 2013页面中使用Javascript 事件window/document.onload/ready时,你会发现处理onload/ready事件的代码根本不能执行. 问 ...

  5. Uploading File using Ajax and receiving binary data in Asp.net (C#)[转]

    基础知识,可由此衍生.原文:http://uniapple.net/blog/?p=2050 In this post, I will show you how to upload a file us ...

  6. 修改linux终端DIR显示颜色

    头疼死,linux终端下,目录颜色蓝色在黑色的背景下,睁大双眼都看不清楚. 找办法修改,找到默认的颜色设置目录: # vi /etc/DIR_COLORS 查看文件,并查找DIR: 可以看到默认设定“ ...

  7. Android开发学习笔记-自定义对话框

    系统默认的对话框只能显示简单的标题内容以及按钮,而如果想要多现实其他内容则就需要自定义对话框,下面是自定义对话框的方法. 1.先定义对话框的模版 <?xml version="1.0& ...

  8. 标准SQL资料整理

    最近感觉SQL忘记的很快,于是把SQL的基础知识整理了下. 使用的工具是MindManager 9. 资料来自W3C School:http://www.w3school.com.cn/sql/ind ...

  9. Tomcat------如何更改被IIS占用的80端口

    1.打开cmd,运行'netstat -ano'发现80端口被pid=4的进程占用 2.打开任务管理器,发现pid=4的进程,其实是system进程,其对应的进程描述是NT kernel & ...

  10. Java -- Java 类集 -- 目录

    13.1 认识类集 13.1.1 基本概念 13.1.2 类集框架主要接口 13.2 Collection接口 13.2.1 Collection接口的定义 13.2.2 Collection子接口的 ...