美文网首页Linux
Linux 重定向符号以及2>&1

Linux 重定向符号以及2>&1

作者: 云养江停 | 来源:发表于2021-12-01 15:16 被阅读0次

一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符

输入(stdin)重定向符号 <

文件描述符为0,小于号表示数据由文件流入命令
usage:
命令 < file
#加入输入重定向,对输入文件进行计数
wc -l < /etc/passwd

输出(stdout)重定向符号 > >> 2> &>

文件描述符为1,大于号表述数据由命令流入文件
所以:echo "hello" > t.log也可以写成echo "hello" 1 > t.log
> 会把文件的内容清空,再输入到新的文件
>> 会把当前内容保持不变,然后在下一行进行追加
2> 错误重定向,如果当前命令产生了错误,会把错误重定向到文件中,而不会打印到屏幕
&> 无论内容正确还是错误都会把文件输出到文件中。

标准错误文件(stderr)

stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
默认情况下,command > file将stdout 重定向到 file,command < file将stdin 重定向到 file。

如果希望 stderr 重定向到 file,可以这样写:
$ command 2>file

如果希望 stderr 追加到 file 文件末尾,可以这样写:
$ command 2>>file 2 表示标准错误文件(stderr)

如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:
$ command > file 2>&1或者$ command >> file 2>&1

如果希望对 stdin 和 stdout 都重定向,可以这样写:
$ command < file1 >file2
command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2。

关于2>&1的含义解读

含义:将标准错误输出 重定向到 标准输出。
符号>&是一个整体,不可分开,分开后就不是上述含义了。
比如有些人可能会这么想:2是标准错误输入,1是标准输出,>是重定向符号,那么"将标准错误输出重定向到标准输出"是不是就应该写成"2>1"就行了?是这样吗? 如果是尝试过,你就知道2>1的写法其实是将标准错误输出重定向到名为"1"的文件里去了

相关文章

  • Linux 重定向符号以及2>&1

    一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符 输入(stdin)重定向符号 < 文件描述符为0,小...

  • linux 常用命令整理 -- 特殊命令(五) -- 持续更新

    Linux的几个特殊命令 1. >重定向输出符号。 2. >>重定向输出符号,但有追加的功能。 3. 2>错误重定...

  • linux重定向

    linux 重定向 的符号有 > >> < <<> >> 是输出重定向< << 是输入重定向0 用来表于标准输入1...

  • 2019-05-21

    Linux常用命令 重定向(redirection)------本文介绍的东西,输出重定向概念、输出重定向的符号、...

  • windows DOS批处理.bat

    批处理符号简介 回显屏蔽 @ 重定向1 >与>> 重定向2 < 管道符号 | 转义符 ^ 逻辑命令符包括:&、&&...

  • linux之特殊符号

    ~ 家目录符号 .. 上一级目录 > 标准输出重定向符号 2> 错误输出重定向符号 2>> 错误输出追...

  • linux输出输入重定向

    1.系统中输入输出的管理 管理输入输出的符号2>重定向错误输出&>重定向所有输出>重定向正确输出 注意:重定向会覆...

  • Linux重定向day13

    1.重定向概述2.重定向的输出输入3.进程管道技术 一、重定向概述 什么是重定向:Linux重定向是指修改原来默认...

  • 第07章重定向管道

    输出重定向案例 > < 脚本中使用重定向 2.输入重定向及结合案例 管道 | 重定向和管道的符号对比。重定向输出到...

  • Linux标准输入输出与重定向详解|果断收藏

    重定向分类 linux中的>、>>、<、<<、2>、2>>、2>&1、&>、&<,总归要面对的 为了更好的理解这个...

网友评论

    本文标题:Linux 重定向符号以及2>&1

    本文链接:https://www.haomeiwen.com/subject/ouysxrtx.html