shell中的重定向 1>&2 2>&1 >&2

shell 重定向 2>&1 linux bash shell重定向问题 阅读详情

当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出.

在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是:

0: Standard Input (STDIN)

1: Standard Output (STDOUT)

2: Standard Error Output (STDERR)

在标准情况下, 这些FD分别跟如下设备关联:

stdin(0): keyboard  键盘输入,并返回在前端

stdout(1): monitor  正确返回值 输出到前端

stderr(2): monitor 错误返回值 输出到前端

举例说明吧:

当前目录只有一个文件 a.txt.

[root@redhat box]# ls

a.txt

[root@redhat box]# ls a.txt b.txt         

ls: b.txt: No such file or directory     由于没有b.txt这个文件, 于是返回错误值, 这就是所谓的2输出

a.txt     而这个就是所谓的1输出

再接着看:

[root@redhat box]# ls a.txt b.txt  1>file.out 2>file.err

执行后,没有任何返回值. 原因是, 返回值都重定向到相应的文件中了,而不再前端显示

[root@redhat box]# cat file.out

a.txt

[root@redhat box]# cat file.err

ls: b.txt: No such file or directory

一般来说, "1>" 通常可以省略成 ">".

即可以把如上命令写成: ls a.txt b.txt  >file.out 2>file.err

有了这些认识才能理解 "1>&2" 和 "2>&1".

1>&2  正确返回值传递给2输出通道 &2表示2输出通道

如果此处错写成 1>2, 就表示把1输出重定向到文件2中.

2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道.

举个例子.

[root@redhat box]# ls a.txt b.txt 1>file.out 2>&1

[root@redhat box]# cat file.out

ls: b.txt: No such file or directory

a.txt

现在, 正确的输出和错误的输出都定向到了file.out这个文件中, 而不显示在前端.

补充下, 输出不只1和2, 还有其他的类型, 这两种只是最常用和最基本的.

 

 

 

上文来自:http://chenyubo.iteye.com/blog/321616

 

下面是百度知道上的一个问题,作为补充说明:http://zhidao.baidu.com/question/194703255.html

 

问:Linux重定向中 >&2 怎么理解?

问题补充:echo "aaaaaaaaaaaaaaaa" >&2 怎么理解?

 

答:

>&2  即 1>&2 也就是把结果输出到和标准错误一样;之前如果有定义标准错误重定向到某log文件,那么标准输出也重定向到这个log文件
如:ls 2>a1 >&2  (等同 ls >a1 2>&1)
把标准输出和标准错误都重定向到a1,终端上看不到任何信息。

 

 

 

 

 

 

 

深入理解 Shell 重定向:`2>&1` 的奥秘 在使用类 Unix 系统(如 Linux 或 macOS)的 Shell 环境时,我们经常会遇到各种各样的命令和符号。其中,重定向操作符扮演着至关重要的角色,它们能够灵活地控制命令的输入和输出流。在众多的重定向操作符中,2>&1常常让人感到有些困惑。本文将通过两个常见的提问,带你深入理解2>&1的含义和应用场景。 阅读详情

相关推荐

Linux系统下SAPGUI安装包选择与避坑指南

本文详细介绍了在Linux系统下选择和安装SAPGUI安装包的策略与避坑指南。重点解析了不同版本安装包的关键区别,特别是Linux版必须包含linux-lib.jar和linux64-lib.jar文件,避免误用Mac或Windows版导致的兼容性问题。文章还提供了针对Ubuntu、RHEL等不同Linux发行版的安装实战指南,以及常见报错的解决方案,帮助用户顺利完成SAPGUI的安装与配置。

weixin_28366353的博客 673

linux命令中的2>&1和1>&2

linux命令中的2>&1和1>&2

G823909的博客 2922

上下文理解的AI增强方案:AI应用架构师的架构洞察

本文将从AI应用架构师的视角,深入探讨“上下文理解”的技术本质、核心挑战,以及一套可落地的上下文增强架构方案。我们会拆解上下文理解的底层需求,分析架构设计中的关键决策,并通过具体案例展示如何构建一个能“记住过去、理解现在、预测未来”的AI系统。三个维度:上下文的内容范围(短期/中期/长期)、数据类型(文本/结构化/多模态)、技术挑战(窗口限制/信息过载/跨会话一致性);三种架构模式:分层上下文存储(热/冷数据分离)、上下文路由(按需筛选)、动态压缩(适配模型窗口);四个关键组件。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 219

解密 Shell 重定向:>、>1、2>、&>、>&、2>&1、1>&2 、/dev/null、>>、>>2、&>>

Shell 重定向这部分知识比较琐碎,符号很多,各种操作符又有多种“变种”,所以会让人感觉很凌乱。本文试图对这部分内容做一些规范化的梳理,主要以 GNU 官方文档为准。首先,有必要“温习”一个基础知识点:在Linux上一切皆文件!所有的设备都可以使用一个文件来描述或代表,这一点在重定向操作中体现的尤为明显,例如:0,1,2,/dev/null 都是文件,其中:0代表文件/dev/stdin,1代表文件/dev/stdout,2代表文件/dev/stderr。而这些文件又分别代表了某种设备:/dev/stdi

Laurence的技术博客 2537

VL53L0X加盖玻片后精度暴跌?手把手教你完成串扰校准(CrossTalk Calibration)

本文详细解析了VL53L0X激光测距传感器加盖玻片后精度下降的原因,并提供了串扰校准(CrossTalk Calibration)的完整解决方案。通过分步指导和实用代码示例,帮助工程师恢复毫米级测距精度,适用于智能门锁、扫地机器人等应用场景。

weixin_33708432的博客 539

流媒体学习之路(mediasoup)——simulcast 与 svc 简介(7)

流媒体学习之路(mediasoup)——simulcast 与 svc(7) 文章目录流媒体学习之路(mediasoup)——simulcast 与 svc(7)

qw225967的博客 7339

Linux 下 2>&1 和 1>&2 的区别

近日在网上看题时遇到这么一条题目: 下面两条命令分别会有怎样的输出  echo hello 1>&2 | grep aaa  echo hello 2>&1 | grep aaa   A、两个均输出hello   B、第一个无输出,第二个输出 hello   C、第一个输出hello,第二个无输出   D、两个均输出hello 正确答案是 C 这题的考点包括 ...

tfel-ypoc 2273

iOS WKWebView H5微信支付跳转

iOS WKWebView H5微信支付跳转 需求:iOS客户端实现嵌入H5进行微信支付跳转到微信客户端,支付完成后再跳转回我们的APP,解决WKWebView无法跳转回APP的BUG. 阅读前提: 了解WKWebView基本初始化及使用 了解如何利用URL Schemes进行应用间跳转 公司或个人已经在微信后台注册了一级域名 GitHub地址(附代码) :iOS WKWebView H5微信支付跳转 简书地址 :iOS WKWebView H5微信支付跳转 博客地址 :iOS WKWe...

ForeverMyheart的博客 2046

Linux重定向:1>,2>,1>&2,<,>,>>

30.Linux重定向 1> 表示的是标准输出重定向,其中1可以省略,>同样表示 2> 表示的是标准错误输出重定向 2>&1 表示的是把标准错误输出重定向到标准输出 1>&2 表示的是吧标准输出重定向到标准错误输出(注意>后面要加&才能表示输出到2通道标准错误输出通道,如果没有&,表示输出到2文件了) < 这是输入重定向符,表

weixin_42155498的博客 1546

华硕天选3 win11+ubuntu20.04双硬盘双系统配置(包括ubuntu重启后无法成功进入、没有wifi图标的设置)

1、制作系统盘 2、分区 3、重启电脑按F2

baidu_38431960的博客 1万+

SE80 Repository Information System 在 SAP CRM WebClient UI 组件分析中的实战指南

在 SAP CRM WebClient UI 开发过程中,如何快速定位组件、视图、上下文节点以及各类运行时对象,一直是调试效率的关键。(后文简称RIS)正是隐藏在SE80里的瑞士军刀,帮助开发者按照组件集、数据元素、上下文节点属性等多维条件进行交叉检索。官方博客将它描述为本文结合多年项目经验,系统梳理RIS的功能脉络与实战技巧,同时引入真实案例,示范如何借助它在几分钟内完成以往动辄数小时的排查任务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

Linux 输入输出重定向, &>file, 2>&1, 1>&2

Linux 输入输出重定向, &>file, 2>&1, 1>&2一、1和2在Linux中代表什么1.1 输出重定向1.2 输入重定向1.3 绑定重定向二、关于2>&1的含义三、为什么2>&1要放在后面四、每次都写">log 2>&1"太麻烦,能简写吗? 相关博文原文地址: 优快云:一个行走的民:Linu...

爱是与世界平行 3807

【反封禁策略】集成 Undetected-Chromedriver:让 Browser-Use 绕过 Cloudflare 五秒盾

摘要:AI Agent如何突破Cloudflare检测的实战指南 本文针对AI Agent在Cloudflare检测下频繁受阻的问题,深入分析了undetected-chromedriver的工作原理与局限性。文章指出,Cloudflare 2026年的检测体系已升级为"浏览器指纹+IP信誉+协议指纹+行为模式"的多维交叉验证,单一伪装方案难以奏效。 核心内容包括: undetected-chromedriver的三层补丁体系解析 v2与v3版本的适用场景对比 两种Browser-Use集成方案:Selen

ZDQ58818的博客 284

shell中的重定向 1>&2 2>&1 >&2

当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出.  在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是:  0: Standard Input (STDIN)  1: Standard Output (STDOUT)  2: Standard Error Outp

thy822的专栏 1554

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Linux shell中的重定向之2>&1

经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用 /tmp/test.sh > /tmp/test.log 2>&1 前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢? 要解释这个问题,还是得提到文件重定向。我们知道>和&1 的意思就是将标准错误也输出到标准输出当中。 下面通过一个例子来展示2>&1

Jason's BLOG 934

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

shell中的重定向(2>&1)

shell的输出可以分为标准输出和错误输出,2>&1中,2代表错误输出,1代表标准输出,&符号代表后面跟的是代号而不是文件。 test.sh echo '我是标准输出' ls /tmp/b.py 假设不存在/tmp/b.py这个文件这里会输出: 我是标准输出 ls: cannot access /tmp/b.py: No such file or di...

weixin_33831196的博客 91

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Shell重定向 &>file、2>&1、1>&2 、/dev/null的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/u011630575/article/details/52151995 在shell脚本中,默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入)、标准输出(输出到屏幕)、标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,...

涅槃Ls的博客 104

shell 1>&2 2>&1 &>filename重定向的含义分析

在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0 是一个文件描述符,表示标准输入(stdin)1是一个文件描述符,表示标准输出(stdout) 2是一个文件描述符,表示标准错误(stderr) 在标准情况下, 这些FD分别跟如下设备关联: stdin(0): keyboard 键盘输入,并返回在前端 stdout(1): monitor 正确返回值 输出到前端 stderr(2): monitor 错误返回值 输出到前端 举例说...

大林的博客 266
上一篇: Makefile语法解析
下一篇: 关于grep和egrep的一些整理
NewThinker_wei
博客等级 码龄14年 521粉丝 51原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值