Linux里nohup常跟着的的2>&1究竟是什么?
  

牵网线的 73721人觉得有帮助

{{ttag.title}}
本帖最后由 牵网线的 于 2021-6-3 22:09 编辑

我们在Linux下经常会碰到:
nohup command>/dev/null 2>&1 &
这样形式的命令。
我们把这条命令大概分解一下。
(1)首先,就是一个nohup表示当前用户和系统的会话下的进程忽略响应HUP消息,也就是不挂断地运行命令。
(2)& 符号是把该命令以后台的job的形式运行。
(3)那么就剩下command>/dev/null 2>&1,其中command>/dev/null较好理解,/dev/null表示一个空设备,就是把 command的执行结果重定向到空设备中,说白了就是不显示任何信息。
(4)最后,2>&1又是什么含义?
2>&1 几个基本符号及其含义
  • /dev/null 表示空设备文件
  • 0 表示stdin标准输入
  • 1 表示stdout标准输出
  • 2 表示stderr标准错误


command > /dev/null相当于执行了command 1 > /dev/null。执行command产生了标准输出stdout(用1表示),重定向到/dev/null的设备文件中。
分析 2>&1
对于2>&1的理解,2就是标准错误,1是标准输出,那么这条命令不就是相当于把标准错误重定向到标准输出么?是的。
为什么是&1而不是1,这里& 符号是什么?& 符号可以理解为引用(reference)。&1 就是对标准输出的引用。
command>a 2>a 与 command>a 2>&1的区别
通过上面的分析,对于command>a 2>&1这条命令,等价于command 1>a 2>&1。
可以理解为执行command产生的标准输入重定向到文件a中,标准错误也重定向到文件a中。
那么是否就说command 1>a 2>&1等价于command 1>a 2>a呢?
其实不是,command 1>a 2>&1与command 1>a 2>a 还是有区别的,区别就在于前者只打开一次文件a,后者会打开文件两次,并导致stdout被stderr覆盖。&1的含义就可以理解为用标准输出的引用,引用的就是重定向标准输出产生打开的a。从IO效率上来讲,command 1>a 2>&1比 command 1>a 2>a的效率更高。
演示一下效果
//test.sh shell 程序
#!/bin/sh
t
date
其中t指令并不存在,执行会报错,会输出到stderr。date能正常执行,执行会输出当前时间,会输出到stdout。
chmod +x test.sh为test.sh增加执行权限。

执行 ./test.sh > test.log,如下所示:

我们发现 stderr 并没有被重定向到 test.log 中,stderr 直接输出到屏幕上了。
执行 ./test.sh > test.log 2>&1,如下所示:


这次,我们发现stdout 和 stderr 都被重定向到了 test.log 中了。

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

好懒 发表于 2023-5-18 11:45
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
点线网 发表于 2022-6-23 13:29
  

感谢楼主分享,分享的排障案例很实用,对社区小伙伴很有帮助哦。点赞点赞
gqce 发表于 2021-6-9 17:18
  
山东_朱文鑫 发表于 2021-6-4 10:14
  
坚持努力,坚持打卡,坚持学习!!!!!!!!!1
点线网 发表于 2021-6-4 09:37
  
点线网 发表于 2021-6-4 09:36
  
有助工作,学习学习
发表新帖
热门标签
全部标签>
新版本体验
安装部署配置
标准化排查
每日一问
GIF动图学习
【 社区to talk】
产品连连看
纪元平台
功能体验
2025年技术争霸赛
西北区每日一问
高手请过招
测试报告
用户认证
信服课堂视频
畅聊IT
功能咨询
秒懂零信任
平台使用
山东区技术晨报
北京区每日一练
社区新周刊
声音值千金
答题自测
专家问答
技术笔记
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
问题分析处理
流量管理
每日一记
运维工具
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
2023技术争霸赛专题
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
技术盲盒
文档捉虫
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
安全效果
云化安全能力
专家说
热门活动
产品动态
行业实践
产品解析
关键解决方案
工具体验官

本版达人

feeling

本周分享达人

新手29676...

本周提问达人