linux shell 中的 2>&1 用法说明
linux中有三种标准输入输出,分别是 STDIN,STDOUT,STDERR,对应的数字是 0,1,2。
STDIN 是标准输入,默认从键盘读取信息;
STDOUT 是标准输出,默认将输出结果输出至终端,也就是显示器之类的东西;
STDERR 是标准的错误信息,默认也会显示在终端上。
由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR。
下面举例说明:
以普通用户登陆(Cent OS 7),执行 find /etc -name passwd 命令,默认会将命令的执行结果(STDOUT)与错误信息(STDERR)都输出至终端显示器。
体验一下编号 1,2 的作用,find /etc -name passwd 1>find.out 2>find.err ,这里会将 STDOUT 与 STDERR 分别存放至 find.out 和 find.err 中
个人理解就是 find /etc -name passwd 的命令的执行结果输出正确的输出(STDOUT)被1接收,错误的信息(STDERR)被2接收。
若要将所有的输出及错误信息都显示出来,可以用&表示全部1和2的信息,例如:
find /etc -name passwd &>find.all
有时候希望将错误的信息重新定向到输出,就是将2的结果重定向至1中就有了”2>1”这样的思路,如果按照上面的写法,系统会默认将错误的信息(STDERR)2重定向到一个名字为1的文件中,而非所想的(STDOUT)中。因此需要加&进行区分。就有了 2>&1 这样的用法:
find /etc -name passwd 2>&1 |less
有时候还能看到这样的用法:
find /etc -name passwd &2>&1 | less
这里可以分解成
find /etc -name passwd & 表示前面的命令放到后台执行。
2>&1 | less 表示将错误信息重定向至标准输出,并用less进行分页显示。
linux shell 中的 2>&1 用法说明的更多相关文章
- Linux Shell中有三种引号的用法
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...
- 理解 Linux shell 中的一个方言:2>&1
理解 Linux shell 中的一个方言:2>&1 2016-11-14 杜亦舒 前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如 ...
- Linux shell中的竖线(|)——…
原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command ...
- [转载]Linux shell中的竖线(|)——管道符号
原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command ...
- Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)
case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认执行的命令序列 ...
- linux系统中ls命令的用法
普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间: ...
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- linux shell 中的位置变量
对于linux shell 中的位置变量,我一直以来都是吐不出来又咽不下去,每次看到都不懂,不懂了就去百度google,看完了又忘,真是慢性咽炎啊.现在认真想想也是,其实自己一直以来都没有好好学习过, ...
- Linux shell中的一个问题 ${}带正则匹配的表达式
目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...
随机推荐
- mac上安装mongodb数据库教程
1.官网下载压缩包,并解压到当地任一目录.(我的是Documents/develop/mongodb) 2.在mongodb下新建data文件夹,在data下新建db文件夹.(bin和data文件夹在 ...
- 浅谈Windows环境下DOS及MS-DOS以及常见一些命令的介绍
浅谈Windows环境下DOS及MS-DOS以及常见一些命令的介绍 前记 自己是搞编程的,首先我是一个菜鸟,接触计算机这么久了,感觉很多计算机方面的技术和知识朦朦胧胧.模模糊糊,貌似有些贻笑大方了:所 ...
- codeforces 767A Snacktower(模拟)
A. Snacktower time limit per test:2 seconds memory limit per test:256 megabytes input:standard input ...
- oracle erp 表结构
BOM模块常用表结构 表名: bom.bom_bill_of_materials 说明: BOM清单父项目 BILL_SEQUENCE_ID NUMBER 清单序号(关键字)ASSEMBLY_ITEM ...
- SQL的case when then else end语句的用法
SELECT a.managecom, a.subtype, count(*) loadsucc, sum(case when a.state in ('4', '5', '6', '7', '8' ...
- oracle游标的使用
--游标的使用 步骤1.声明游标 .打开游标 .获取数据 .关闭游标 declare cursor cur is select * from emp; t_sal cur%rowtype; begin ...
- javascript中函数的执行环境、作用域链、变量对象与活动对象
javascript高级程序设计中:对执行环境.作用域链.变量对象.活动对象的解释: 1.执行环境: 执行环境:有时也叫环境:是JavaScript中最为重要的一个概念:执行环境定义了变量或函数有权访 ...
- input[type=file]中使用ajaxSubmit来图片上传
今天在使用input[type=file]上传图片到服务器时,因为项目要求,并不是像常见的通过按钮来提交表单事件,而是图片上传后就自动执行表单提交事件,将上传的图片信息传给服务器. 刚开始我是这样执行 ...
- layui之事件监听(table)
这几天在学习layui,感觉这框架挺好用的,前后端都适用,许多原本比较复杂的东西用该框架很容易就能实现. 今天看了table里的事件监听这个知识点. 语法:table.on('event(filter ...
- 一步一步从原理跟我学邮件收取及发送 5.C语言的socket示例
说到 C 语言版本的程序,首先要解决的问题就是兼容性. 作为 20 年开发有 10 多年是在服务端的程序员,我深刻地感受到服务端平台的两极分化之严重,linux 派对 windows 那是超级的不屑一 ...