详细理解 > /dev/null 2>&1 - 微信公众号--共鸣圈 - 博客园
shell 标准输入标准输出错误输出_sa726663676的博客-CSDN博客_shell只输出错误信息
0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)
"command >/dev/null 2>&1 &" 与 "command 1>/dev/null 2>&1 &" 的意思一样
1) command: 表示shell命令或者为一个可执行程序
2)1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
1 >/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
3) >: 表示重定向到哪里
4) /dev/null: 表示Linux的空设备文件
5) 2: 表示标准错误输出
6) &1: &表示等同于的意思, 2>&1表示2的输出重定向于1
7) &: 表示后台执行,即这条指令执行在后台运行
command < filename 把标准输入重定向到filename文件中
command 0< filename 把标准输入重定向到filename文件中
command > filename 把标准输出重定向到filename文件中(覆盖)
command 1> fielname 把标准输出重定向到filename文件中(覆盖)
command >> filename 把标准输出重定向到filename文件中(追加)
command 1>> filename 把标准输出重定向到filename文件中(追加)
command 2> filename 把标准错误重定向到filename文件中(覆盖)
command 2>> filename 把标准输出重定向到filename文件中(追加)
command > filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(覆盖)
command >> filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(追加)
command < filename >filename2 把标准输入重定向到filename文件中,把标准输出重定向到filename2文件中
command 0< filename 1> filename2 把标准输入重定向到filename文件中,把标准输出重定向到filename2文件中
1. 标准输入的控制
语法:命令< 文件将文件做为命令的输入。
例如:
mail -s “mail test” wesongzhou@hotmail.com < file1 将文件file1 当做信件的内容,主
题名称为mail test,送给收信人。
2. 标准输出的控制
语法:命令> 文件将命令的执行结果送至指定的文件中。
例如:
ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。
语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
例如:
ls -lg >! list 将执行“ls - lg” 命令的结果覆盖写入文件list 中。
语法:命令>& 文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
例如:
cc file1.c >& error 将编译file1.c 文件时所产生的任何信息写入文件error 中。
语法:命令>> 文件将命令执行的结果附加到指定的文件中。
例如:
ls - lag >> list 将执行“ls - lag” 命令的结果附加到文件list 中。
语法:命令>>& 文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
例如:
cc file2.c >>& error 将编译file2.c 文件时屏幕所产生的任何信息附加到文件error 中。