重定向,/dev/null, 1>, 2>什么意思?
文件描述符我们常见的就是系统预留的0,1和2这三个,他们的意义分别有如下对应关系:
- 0 —— stdin(标准输入)
- 1 —— stdout (标准输出)
- 2 —— stderr (标准错误)
其中,shell编程里经常用到的就是描述符1,和描述符2。
如:ls命令执行的时候,在标准输出 输出了结果,我们可以通过重定向符号,把标准输出的结果重定向到文件。
ghostwu@dev:~/linux/std_err_out$ ls
ghostwu@dev:~/linux/std_err_out$ touch ghostwu.txt
ghostwu@dev:~/linux/std_err_out$ ls
ghostwu.txt
ghostwu@dev:~/linux/std_err_out$ ls
ghostwu.txt
ghostwu@dev:~/linux/std_err_out$ ls > std_out.txt
ghostwu@dev:~/linux/std_err_out$ cat std_out.txt
ghostwu.txt
std_out.txt
ghostwu@dev:~/linux/std_err_out$ ls > std_out1.txt
ghostwu@dev:~/linux/std_err_out$ cat std_out1.txt
ghostwu.txt
std_out1.txt
std_out.txt
> 和 1>是等价的,都表示标准输出重定向。
错误重定向:
什么时候会产生错误重定向?比如,最简单,不存在某文件
ghostwu@dev:~/linux/std_err_out$ ls
ghostwu.txt std_out1.txt std_out.txt
ghostwu@dev:~/linux/std_err_out$ ls std_err.txt
ls: cannot access 'std_err.txt': No such file or directory
我们可以把错误信息,通过错误重定向写入文件。
ghostwu@dev:~/linux/std_err_out$ ls std_error.txt
ls: cannot access 'std_error.txt': No such file or directory
ghostwu@dev:~/linux/std_err_out$ ls
ghostwu.txt std_out1.txt std_out.txt
ghostwu@dev:~/linux/std_err_out$ ls std_error.txt > output_error.txt
ghostwu@dev:~/linux/std_err_out$ cat output_error.txt
ls: cannot access 'std_error.txt': No such file or directory
ghostwu@dev:~/linux/std_err_out$
2>&1,&1的含义就可以理解为用标准输出的引用
2>表示错误输出,&等价于标准输出
ghostwu@dev:~/linux/std_err_out$ ls a.txt >&
ls: cannot access 'a.txt': No such file or directory
ghostwu@dev:~/linux/std_err_out$ ls
ghostwu.txt output_error.txt std_out1.txt std_out.txt
2>/dev/null意思就是把错误输出到“黑洞”
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt
ls: cannot access 'ghostwu.txt': No such file or directory
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt >/dev/null
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt >/dev/null
ghostwu@dev:~/linux/shell/pipe$
>/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt
ghostwu.txt
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt >/dev/null
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu2.txt >/dev/null
ls: cannot access 'ghostwu2.txt': No such file or directory
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu2.txt >/dev/null >&
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt >/dev/null >&
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu2.txt >/dev/null >&
2>&1 >/dev/null意思就是把错误输出2重定向到标准输出1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu.txt >&>/dev/null
ghostwu@dev:~/linux/shell/pipe$ ls ghostwu2.txt >&>/dev/null
ls: cannot access 'ghostwu2.txt': No such file or directory
ghostwu@dev:~/linux/shell/pipe$
重定向,/dev/null, 1>, 2>什么意思?的更多相关文章
- >/dev/null 2>&1
>/dev/null 2>&1 大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢? > 是重定向 /dev ...
- Shell中的>/dev/null 2>&1 与 2>&1 >/dev/null 与&>/dev/null 的区别
默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: & ...
- '>/dev/null 2>&1' 是什么意思?
'>' 用于重定向 '/dev/null' 是一个黑洞,任何发送的数据都将被丢弃 '2' 是标准错误的文件描述符 '>' 用于重定向 '&' 是文件描述符的符号(没有它,以下1将被 ...
- crontab 常见 /dev/null 2>&1 详解
大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢? > 是重定向 /dev/null 代表空设备文件 1 表示stdout标准 ...
- 添加crontab为什么要重定向输出到/dev/null
如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情.因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件 /var/spool/mail/$use ...
- Linux Shell脚本入门--(linux空设备文件和重定向)>/dev/null 2>&1
linux空设备文件和重定向 输出/输入重导向 > >> < << :> &> 2&> 2< ...
- /dev/null 2>&1的意思(可以直接参考shell重定向那篇,/dev/null是空设备)
路还长 别太狂 以后指不定谁辉煌 2>&1 和 &> 的解释 Linux的IO输入输出有三类 Standard Input 代码 0 Standard Output 代码 ...
- shell 重定向 2>&1 2>/dev/null 理解笔记
// 函数 输入输出重定向 1.函数 function hello(){ echo '1111' } ------- hello hello(){ // function 可以省略 echo '222 ...
- linux 重定向命令详解(如1>/dev/null 2>&1)
基础 0:表示标准输入stdin 1:表示标准输出stdout,系统默认为1,可省略(即1>/dev/null等价于>/dev/null) 2:表示标准错误stderr >:表示重定 ...
随机推荐
- Linux 防火墙相关
1.SELinux 防火墙 1.1 查看SELinux状态: 1) /usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 bamb ...
- iOS架构模式浅析
这是以前旧博客在13年规划写的一个系列,写了一部分内容,还没有完成.现在重新整理编写.计划从基础知识六大设计原则.设计模式中类的关系开始,然后会对iOS开发中的常用架构模式进行介绍,最后对GoF的23 ...
- Jenkins内置环境变量的使用
一.查看Jenkins有哪些环境变量 1.新建任意一个job 2.增加构建步骤:Execute shell 或 Execute Windows batch command 3.点击输入框下方的“可用环 ...
- 定时任务 Wpf.Quartz.Demo.5 (升级版)
老规矩:先把全部源码上传,见本文底部. 相对于Demo3的区别,就是能自动加载继承了IJob的任务,任务主体程序分离. 在exe执行文件的同级下建一个MyJobs的文件夹,每次会自动扫描该文件夹下的J ...
- asp.net对接拼多多
asp.net对接拼多多视频地址:https://www.bilibili.com/video/av43512047/?p=7
- sku 和 spu
https://www.jianshu.com/p/867429702d5a 里面的图片挺好的
- 你(可能)不知道的web api
你(可能)不知道的web api 简介 作为前端er,我们的工作与web是分不开的,随着HTML5的日益壮大,浏览器自带的webapi也随着增多.本篇文章主要选取了几个有趣且有用的webapi进行介绍 ...
- jQuery事件委托
jQuery事件委托 <ul id="ulBox"> <li data-id="1"></li> <li data-i ...
- MySQL 中的数字类型
MySQL 中数据类型常用的就三大类: 数字类型/numeric types 日期和时间/date and time types 字符类型/string (character and byte) ty ...
- html 空格字符类型
1,Html中空格 不断行的空白(1个字符宽度) 半个空白(1个字符宽度) 一个空白(2个字符宽度) 窄空白(小于1个字符宽度) 2,Css 的方式空格 CSS中当 w ...