[Linux]浅析"command > /dev/null 2>&1 &" 与 "command 1>/dev/null 2>&1 &"
1 问题描述
1.1 问题描述
在一项目中查看CENTOS 服务器的定时任务crontab时查看到如下这段命令:

命令
clearLog.sh > /dev/null 2>&1 &等效于clearLog.sh 1 > /dev/null 2>&1 &
1.2 命令解释
在后台执行这个command程序,
将错误输出2 重定向到 标准输出1,
然后,将标准输出1全部放到 /dev/null文件(即 清空,不做任何信息存储)
【 command 】 表示shell命令或者为一个可执行程序
【 > 】 表示重定向到哪里
【 /dev/null 】表示Linux的空设备文件,通常用于丢弃不需要的数据时使用此shell命令
/dev/null 表示空设备,这里就是把日志记录到空设备里,就是不记录日志,Null 是一特殊指标值(或是一种物件参照 reference)表示这个指标并不指向任何的物件。
/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃,如果尝试从该文件读取内容,那么什么也读不到,但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到”禁止输出“的效果。
Eg: cat /dev/null > /home/sdc/fileName.txt (清空fileName.txt文件)
Eg: cat $filename >/dev/null (文件内容丢失,而不会输出到标准输出,禁止标准错误)
【 2 】 表示标准错误输出
0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)
【 &1 】 &表示 等同于。故 2>&1 表示2的输出重定向等于于1
【 & 】 表示后台执行,即这条指令执行在后台运行
由此可见:
command > /dev/null 2>&1常用来避免shell命令或者程序等运行中有内容输出
延申
1>/dev/null
表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1
表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

X 参考文献
- shell脚本中>/dev/null的含义? - imooc
- shell程序中 2> /dev/null 代表什么意思? - Zhihu
- Linux /dev/null详解 - 博客园
- Linux下“ >/dev/null 2>&1 “相关知识说明 - CSDN
- shell中>/dev/null 2>&1 - 博客园
[Linux]浅析"command > /dev/null 2>&1 &" 与 "command 1>/dev/null 2>&1 &"的更多相关文章
- linux中>/dev/null 2>&1和2>&1 > /dev/null
转载:https://www.cnblogs.com/520playboy/p/6275022.html 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的 ...
- linux /dev 常见特殊设备介绍与应用[loop,null,zero,full,random]
linux是文件型系统,所有硬件如软件都会在对于的目录下面有相应的文件表示.对于dev这个目录,我们知道它下面的文件,表示的是linux的设备.在windows系统中,设备大家很好理解,象硬盘,磁盘指 ...
- Linux: How to delete a disk or LUN reference from /dev
In AIX, there is rmdev command to remove a disk/LUN from /dev directory i.e to make the disk/LUN una ...
- >/dev/null 2>&1和2>&1 >/dev/null区别
>/dev/null 2>&1和2>&1 >/dev/null区别 >/dev/null 2>&1 //会将标准输出,错误输出都重定向至/d ...
- windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help
windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help 在windows8操作系统上安装 ...
- SQLSERVER NULL和空字符串的区别 使用NULL是否节省空间
SQLSERVER NULL和空字符串的区别 使用NULL是否节省空间 这里只讨论字符串类型,int.datetime.text这些数据类型就不讨论了,因为是否节省空间是根据数据类型来定的 在写这篇文 ...
- 安装SQL Servre2000时提示“command line option syntax error! type command /? for help”
问题: 当程序正在安装ms数据访问组件时,弹出错误提示框:command line option syntax error,type command/? for help,点击确定继续:到了程序正在安 ...
- in not in 和 null , in 判断范围中可以包含null,而not in判断不能包括null
oracle中,任何字符串与null比较得到的结果都是null,而 oracle的判断条件为null时就退出判断(?) 因此判断某个字符串是否在一个集合中时,not in 和 in的结果完全不一样,如 ...
- 【IntellJ IDEA】idea启动测试类报错Error running 'Test1.test': Command line is too long. Shorten command line for Test1.test or also for JUnit default configuration.
idea启动测试类报错 Error running 'Test1.test': Command line is too long. Shorten command line for Test1.tes ...
- Command line option syntax error. Type Command /? for Help.
--------------------------- Microsoft Visual C++ 2005 Redistributable --------------------------- Co ...
随机推荐
- 如何在微信小程序中使用ECharts图表
在微信小程序中使用ECharts 1. 下载插件 首先,下载 GitHub 上的 ecomfe/echarts-for-weixin 项目. 下载链接:ecomfe/echarts-for-weixi ...
- ffmpeg安装教程
1 下载所需要的软件 mkdir /usr/local/soft cd /usr/local/soft wget https://www.ffmpeg.org/releases/ffmpeg-snap ...
- MongoDB 相关的一些操作
一. 在 MongoDB Compass中输入条件查询数据 {"src":"小车"} // = 该值 {"src":{$ ...
- mysql和nacos都部署在docker中,ip该写哪个
docker run -d \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=172 ...
- 当MYSQL报错时
输入mysqld --console查看错误 针对error行进行排查
- 服务器DMZ理解
转别人的 您的公司有一堆电脑,但可以归为两大类:客户机.服务器.所谓客户机就是主动发起连接请求的机器,所谓服务器就是被动响应提供某些服务的机器.服务器又可以分仅供企业内网使用和为外网提供服务两种. ...
- CF 1020B Badge
之前写过DFS的题,但是或多或少有参考别人的思路,最近开始专攻DFS,下面这道题就是DFS练习第一题CF 1020B,之后训练完后抽时间写一篇DFS专项. B. Badge time limit ...
- axios实现无感刷新
前言 最近在做需求的时候,涉及到登录token,产品提出一个问题:能不能让token过期时间长一点,我频繁的要去登录. 前端:后端,你能不能把token 过期时间设置的长一点. 后端:可以,但是那样做 ...
- 1012.Django中间件以及上下文处理器
一.中间件 中间件的引入: Django中间件(Middleware)是一个轻量级.底层的"插入"系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. d ...
- ZooKeeper启动报错,未成功开启服务
1.问题示例 (1)启动ZooKeeper服务报错 [Hadoop@master ~]$ zkServer.sh statusZooKeeper JMX enabled by defaultUsing ...