Linux下" >/dev/null 2>&1 "相关知识说明

在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。

0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1 
2:表示错误输出(stderr)

command >/dev/null 2>&1 &  == command 1>/dev/null 2>&1 &

1)command:表示shell命令或者为一个可执行程序
2)>:表示重定向到哪里 
3)/dev/null:表示Linux的空设备文件 
4)2:表示标准错误输出
5)&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
6)&:表示后台执行,即这条指令执行在后台运行

1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

这条命令的意思就是在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空.
所以可以看出" >/dev/null 2>&1 "常用来避免shell命令或者程序等运行中有内容输出。

时间: 2024-08-02 20:13:46

Linux下" >/dev/null 2>&1 "相关知识说明的相关文章

linux下/dev/null 的用途

作者:iamlaosong 我有一个数据导入程序,用crontab设定定时执行,有时数据需要重新导入时,就人工运行一次,结果发现,人工导入的时间要大于定时执行的时间,究其原因,初步估计是显示花掉了,因为程序中每导入一条数据,显示一次导入数据的名称和记录序号,为节省时间,可以输出重定向到/dev/null中.如: ./impx.sh > /dev/null 可以把/dev/null看作一个"黑洞",它非常等价于一个只写文件,所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什

Linux Centos的Inode及Block相关知识

本经验均在CentOSrelease6.7(Final)下操作,如知识有欠缺之处 欢迎批评指正. linux 的inode及block的相关知识: 1>  Linux系统分区格式化文件系统之后,系统会分为Inode及Block两部分: 1)Inode为系统文件的属性信息(ls -l的结果)及指向文件实体的指针,但是没有存放文件名,一般在上级目录里的Block. 2)Block为存放数据的,ext3/ext4一般为1k,2k,4k,一般默认4k 3)一个文件不论多大至少占用一个Inode和一个Bl

linux下,matplotlib遇到的相关问题以及解决方法

1.在linux下运行matplotlib程序时,matplotlib的安装. 根据不同的linux系统继续相关安装: Debian / Ubuntu : sudo apt-get install python-matplotlib Fedora / Redhat : sudo yum install python-matplotlib 2.运行matplotlib程序时报如下错误: 解决方案,在文件头加入如下代码 import matplotlib matplotlib.use('Agg')

【linux】/dev/null作用

/dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容. 我们用file命令查看下,说明类型是字符特殊文件. [[email protected] ~]# file /dev/null /dev/null: character special 尝试读取 [[email protected] ~]# cat /dev/null 什么也读取不到,就像一个黑洞一样. 所以我们一般会把/dev/null当成

linux中 /dev/null命令

/dev/null :代表空设备文件 >  :代表重定向到哪里,例如:echo "123" > /home/123.txt1  :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"2  :表示stderr标准错误&  :表示等同于的意思,2>&1,表示2的输出重定向等同于1 1.禁止标准输出 [[email protected] log]# cat

Linux下nagios的搭建及相关配置

一.LAMP环境部署 1.安装php 1.安装yum源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 2.执行yum安装 yum --enablerepo=remi,remi-php55 install php php-devel

java知识点3(null、引用相关知识(自己理解))

学习了相关博文,结合他们所说,再加上自己的理解,对引用数据类型的创建.赋值以及null等进行了总结.仅为自己理解,可能会有错误. 1.声明一个对象不赋值与赋值为null的区别 假如有一个Person类声明如下: public class Person{ //成员变量 String name; int age; } (1)如果是成员变量,比如Person类的name或者age字段,不手动赋值的时候java会给个默认值,和变量的类型对应,string类被赋值为null,age类被赋值为0,这种情况发

linux中用户信息及密码相关知识

在linux中若修改用户信息.密码,组群信息.密码等.其实是在修改/etc/passwd,/etc/shadow,/etc/group,/etc/groupshadow等文件的内容. 这四个文件的意思分别是: 用户帐号信息文件.用户口令文件.用户组信息文件.用户组口令信息文件 具体内容可以分别打开看看.都是文本文件.结构清晰 这里具体说说口令信息文件. shadow文件(包括用户口令和组口令文件)个人认为可以这样理解: 它原本其实是并不存在的.就是说它并不是随着用户的操作而同时产生的. 这个文件

VIM下的可视模式的相关知识

三种可视模式: v 激活面向字符的可视模式: V 激活面向行的可视模式: ctrl+v 激活面向列块的可视模式: 选择高亮区: 上面的 v 是可以与跳转指令 以及表示范围的指令组合使用的. 如:vl, vaw,viw, vap, vgg, vG, vw,vb, vge等: 命令: gv: 表示重选上次的高亮选区: o: 表示切换高亮选区的活动端: 技巧:只要可能,最后用操作符命令,而不是可视命令: 在列块模式下: 选中了一块以后,可以进行如下操作: A: 在选定的块后面插入内容: I: 在选定的