随笔 - 100  文章 - 0  评论 - 6  阅读 - 88603

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中

** 转载:https://www.cnblogs.com/bluestorm/p/10754821.html **

posted on   林西索  阅读(310)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示