&1"的含义脚本:nohup /mn"/>
我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux shell中2>&1是什么意思

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux shell中2>&1是什么意思

这篇文章主要介绍了linux shell中2>&1是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

linux shell 中"2>&1"的含义

脚本:

nohup /mnt/Nand3/H2000G  >/dev/null  2>&1  &

对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了.其中0 表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。

      command >out.file  2>&1 &
      command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个& , 是让该命令在后台执行。

      试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;
换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

可以用

ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;
ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;
ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。
何2>&1要写在后面?

command > file 2>&1

首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。
command 2>&1 >file
2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。

用strace可以看到:

1. command > file 2>&1

这个命令中实现重定向的关键系统调用序列是:
open(file) == 3
dup2(3,1)
dup2(1,2)

2. command 2>&1 >file

这个命令中实现重定向的关键系统调用序列是:

dup2(1,2)
open(file) == 3
dup2(3,1)

感谢你能够认真阅读完这篇文章,希望小编分享的“linux shell中2>&1是什么意思”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux shell中2>&1是什么意思

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux shell中2>&1是什么意思

这篇文章主要介绍了linux shell中2>&1是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。linux shell 中"2>&1"的含义脚本:nohup /mn
2023-06-09

shell中>/dev/null 2>&1是什么意思

小编给大家分享一下shell中>/dev/null 2>&1是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!shell重定向介绍就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置。在
2023-06-09

linux中shell变量$#,$@,$0,$1,$2是什么意思

这篇文章主要为大家展示了“linux中shell变量$#,$@,$0,$1,$2是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中shell变量$#,$@,$0,$1,$2是什
2023-06-09

Linux shell中2>&1的含义是什么

这篇文章主要介绍Linux shell中2>&1的含义是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!A.首先了解下1和2在Linux中代表什么在Linux系统中0 1 2是一个文件描述符名称代码操作符Java中
2023-06-09

linux shell 中 2>&1的含义

linux shell 中"2>&1"的含义 脚本: nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际
2022-06-04

c语言中x&=1是什么意思

c语言中,x &= 1 逐位与操作 x 的二进制位与 1,将结果存回 x。若 x 最低位为 1,结果为 1;若 x 最低位为 0,结果为 0。c语言中 x&=1 的含义在 C 语言中,x&=1 是一个位操作表达式,用于将变
c语言中x&=1是什么意思
2024-04-29

c++中=&是什么意思

在 c++ 中,&= 运算符是一个按位与运算符,用于对两个位模式执行按位与操作,将两个位模式中对应位的 1 与 1 设为 1,否则设为 0。C++ 中的 &= 运算符在 C++ 中,&= 运算符是一个按位与运算符,用于对两个位模式(二进制
c++中=&是什么意思
2024-04-26

c++中&&是什么意思

c++ 中的 && 运算符是逻辑与运算符,它对两个布尔值进行操作,返回结果为 true 当且仅当两个输入值都为 true。C++ 中的 && 运算符C++ 中的 && 是逻辑与运算符。它对两个布尔值进行操作,返回结果为 true 当且仅当
c++中&&是什么意思
2024-04-26

c++中*&是什么意思

c++ 中的 & 运算符序列表示先对一个指针进行解引用,然后取其地址,类似于 &x,其中 & 为取地址运算符, 为解引用运算符。具体操作包括:首先解引用指针 &x,得到其指向变量的值,然后对该值取地址,得到 &x 的值。使用场景包括传递指向
c++中*&是什么意思
2024-04-26

c++中&=是什么意思

c++ 中 &= 运算符是位与赋值运算符,将两个操作数的位值逐位与运算,结果存入左操作数中。它常用于清除、设置、提取变量中的特定位,或执行位掩码操作。C++ 中 &= 运算符的含义&= 是 C++ 中的位与赋值运算符。它将两个操作数的位值
c++中&=是什么意思
2024-04-26

shell中1小于/dev/null 2大于&1的含义是什么

这篇文章主要介绍shell中1小于/dev/null 2大于&1的含义是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义
2023-06-09

php中&&是什么意思

在php中,“&&”的意思为“并且”,是一个逻辑运算符,表示“逻辑与”,其运算结果是一个布尔型值;使用“&&”进行运算时,只有左右两个表达式同时为TRUE时,则结果为TRUE;两个表达式中有任意一个表达式为FALSE时,则结果为FALSE。
2018-06-18

css中&是什么意思

css 中 & 符号代表后代选择器,用于选择父选择器中子元素的后代元素。语法:父选择器 & 子选择器 { 属性值; },例如:li > a { color: blue; } 将为父代 元素的子代 元素设置颜色属性。CSS 中
css中&是什么意思
2024-04-26

c语言中&&是什么意思

&&运算符表示逻辑与运算,只有当两个或多个表达式都为真时,它才返回真;否则,返回假。其作用是检查多个条件是否都满足,并将其组合为一个复合条件。它还可用作位掩码,以选择或取消选择特定位。C语言中&&的含义&&在C语言中表示逻辑与运算符,用于
c语言中&&是什么意思
2024-04-28

c++中a&b是什么意思

c++kquote>c++ 中的 a&b 运算表示 a 和 b 的按位与操作,逐位比较两个数字,如果两个对应的位都为 1,则结果为 1,否则为 0。c++ 中 a&b 的含义简答:c++ 中的 a&b 表示 a 和 b 的按位与操作。
c++中a&b是什么意思
2024-05-09

php中&&什么意思

php中&&运算符是逻辑and运算,它将两个布尔值结合,仅当两个值都为真时才返回真,否则返回假。具体来说,它的真值表如下:输入1为真,输入2为真: 输出为真输入1为真,输入2为假: 输出为假输入1为假,输入2为真: 输出为假输入1为假,输入
php中&&什么意思
2024-04-27

php中&什么意思

php中的&符号有以下用途:变量引用语法:创建变量引用,使对引用变量的更改反映在被引用的变量中。连接字符串语法:将两个字符串连接起来并存储在一个新变量中。PHP 中 & 符号PHP 中的 & 符号,又称“引用符”,具有两个主要用途:1.
php中&什么意思
2024-04-27

c++中*&什么意思

c++ 中的 & 和 &** 运算符都用于获取地址,但它们的细微差别在于:& 运算符获取变量的地址,存储在指针变量中,指针类型指向变量类型。&** 运算符获取指针变量的地址,存储在指针指针变量中,指针类型指向指针类型。用途:& 运算符用于获
c++中*&什么意思
2024-04-26

c#中&什么意思

在c#中,"&"符号是按位与运算符,用于比较两个二进制数字的对应位,仅当两对应位都为1时结果才为1。常见用途包括:提取位值、检查位值、清除位值和合并位值。& 在 C# 中的含义& 符号在 C# 中称为“按位与”运算符,用于将两个二进制数字
c#中&什么意思
2024-04-04

c语言中&和|是什么意思

c语言中的& (按位与)和| (按位或)运算符对整数二进制位逐位运算:&运算结果为1当且仅当两个位都为1;|运算结果为1当且仅当至少一个位为1。C语言中的&和|运算符& (按位与)&运算符将两个给定整数的二进制位逐位相与,结果为1当且仅
c语言中&和|是什么意思
2024-05-02

编程热搜

目录