[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 ...
随机推荐
- UI自动化之【chromedriver.exe无法删除问题】
想删掉chromedriver.exe,结果提示被打开 在任务管理器中,找到Chromedriver.exe,结束进程
- PLC入门笔记12
1.边沿应用 (1)边沿开关 (2)上升沿触发 下降沿触发 (3) MOVP K4M0 D0 传送比较 movp (=mov) 脉冲型指令 前面条件成立只能执行一次,仅执行一次扫描周期 不带P MOV ...
- python——pkl文件
pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西. cPickle在python3中更名为pickle 使用方式如下: import pickle as p shop ...
- clickhouse 安装部署(linux)
1.安装部署 1.1下载文件 可以按照官网步骤安装 https://clickhouse.tech/docs/zh/getting-started/install/. 这个库目前大小有2G,网络不允许 ...
- php上传文件时出现 caution: request is not finished yet
其中的一个原因:是wamp64下的tmp文件夹中的临时文件太多,把这个文件夹的临时文件清理后就可以了.
- c/s winForm框架 tabpage标签切换窗体
/// <summary> /// 根据窗体Name打开窗体 /// </summary> /// <param name="name">< ...
- (c语言描述 函数递归汉诺塔)
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小顺序 ...
- 制作带curl命令的容器
创建一个容器,启动后使用curl命令请求指定的地址 方法一.固定的地址,创建Dockerfile前先修改entrypoint.sh里的地址 vi entrypoint.sh#! /bin/bashcu ...
- python+appium拉起APP
1.首先需要完成环境配置: JDK:https://www.cnblogs.com/wenlongma/p/17103062.html: SDK:https://www.cnblogs.com/w ...
- strtok实现想到的...
1.实现容易,实现的方法很难想到 比如strtok函数 /* 获取第一个子字符串 */ token = strtok(str, s); /* 继续获取其他的子字符串 */ while( token ! ...