Linux 标准输出重定向 2>&1 , 1>&2
1.在linux中,最常使用的 FD (file descriptor) 大概有三个, 分别是:
- 0 是一个文件描述符,表示标准输入(stdin)
- 1 是一个文件描述符,表示标准输出(stdout)
- 2 是一个文件描述符,表示标准错误(stderr)
1.1.在标准情况下, 这些FD分别跟如下设备关联:
- stdin(0): keyboard 键盘输入,并返回在前端
- stdout(1): monitor 正确返回值 输出到前端
- stderr(2): monitor 错误返回值 输出到前端
1.2.可以通过下面的方法改变输出的FD:
1>&2
正确返回值传递给2输出通道 &2表示2输出通道,如果此处错写成 1>2, 就表示把1输出重定向到文件2中.2>&1
错误返回值传递给1输出通道, 同样&1表示1输出通道.
2.符号">" 和 "&"说明:
2.1>
是重定向符,就是把前面输出的内容重定向到后面指定的位置。例:
echo "abc" > test.txt
:把abc输入到test.txt文档中
>
前是可以加数字来说明把什么内容重定向到文件中,默认是把标准输出重定向到文件中,所以下面这个例子和上面那个是一样的:
echo "abc" 1> test.txt
2.2&
是一个描述符,如果1或2前不加&,会被当成一个普通文件:
1>&2
意思是把标准输出重定向到标准错误.2>&1
意思是把标准错误输出重定向到标准输出。&>filename
意思是把标准输出和标准错误输出都重定向到文件filename中
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?