首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell 1>&2 2>&1 &>filename重定向的含义和区别

shell 1>&2 2>&1 &>filename重定向的含义和区别: 当初在shell中, 看到”>&1″和”>&2″始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出....如果此处错写成 1>2, 就表示把1输出重定向到文件2中. 2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道....1>&2 意思是把标准输出重定向到标准错误。 2>&1 意思是把标准错误输出重定向到标准输出。 &>filename 意思是把标准输出和标准错误输出都重定向到文件filename中。...下面是来自百度知道的内容,大家可以参考下: 问:Linux重定向中 >&2 怎么理解? 问题补充:echo "aaaaaaaaaaaaaaaa" >&2 怎么理解?...答: >&2 即 1>&2 也就是把结果输出到和标准错误一样;之前如果有定义标准错误重定向到某log文件,那么标准输出也重定向到这个log文件 如:ls 2>a1 >&2 (等同 ls >a1 2>&1

5.4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux重定向

    小结: 在 Linux 中,重定向是一种将命令的输出或输入重定向到文件或其他命令的机制。它可以用于管理标准输入、标准输出、标准错误等。重定向通常与命令行中的 >、>、2> 等符号一起使用。...下面是关于 Linux 重定向的详细说明。 1. 标准输入、标准输出和标准错误 在 Linux 中,每个进程都有三个默认的 I/O 流: 标准输入(stdin):从终端接收输入,文件描述符是 0。...2>&1 8....重定向标准输出(1>)和标准错误(2>): bash command 1> output.txt 2> error.txt 将标准输出和错误都重定向到不同的文件: bash command > output.txt...error.log 丢弃命令的所有输出: bash command > /dev/null 2>&1 总结 Linux 重定向是管理输入输出的强大工具。

    13110

    视图重定向0 重定向视图 RedirectView1 向重定向目标传递数据2 重定向前缀——redirect:3 重定向前缀——forward:

    有时,我们想要在视图渲染之前,先把一个HTTP重定向请求发送回客户端。...此时若使用重定向,则浏览器会先发送第一 个 POST 请求;请求被处理后浏览器会收到一个重定向响应,然后浏览器直接被重定向到一个 不同的URL,最后浏览器会使用重定向响应中携带的URL发起一次 GET...0 重定向视图 RedirectView 强制重定向的一种方法是,在控制器中创建并返回一个Spring重定向视图 RedirectView 的实例。...关于如何实现这个解耦,参考 重定向前缀---redirect: 1 向重定向目标传递数据 模型中的所有属性默认都会考虑作为URI模板变量被添加到重定向URL中。...2 重定向前缀——redirect: 尽管使用 RedirectView 来做重定向能工作得很好,但如果控制器自身还需要创建一个 RedirectView ,那无疑控制器还是了解重定向这么一件事情的发生

    2.5K91

    linux实战(2)输入输出与错误重定向详解

    linux 下什么是输入输出错误重定向 简介:介绍输入输出错误重定向的使用 1:什么是输入重定向? 通俗的讲,输入重定向就是把要输入的信息写入到指定的文件中去 2:什么是输出重定向?.../dev/stdout 1 标准输出 /dev/stderr 2 标准错误输出 1:输入重定向: < eg:wc -l 重定向:(错误重定向后要写上2 ,标准输出要加上的1可以省略) 例如,你输入llll,,因为这是个错误的命令,系统会输出 -bash :llll :command not found 。...linux的错误输出到无底洞: eg:llll 2> 123.txt ; llll 2> /dev/null #/dev/null 无底洞#这样输入的话意思就是直接丢了这错误信息显示的东西...几个符号常用符号 & #代表等同于的 意思 ls -lrt /boot /test 1>/root/123.txt 2>&1 #1是标准输入 &> #代表不分正确还是错误的意思 ls -lrt /boot

    1.8K20

    Linux Shell 1>devnull 2>&1 含义

    ,2>&1,表示2的输出重定向等同于1 1 > /dev/null 2>&1 语句含义: 1 > /dev/null : 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息...要解释这个问题,还是得提到文件重定向。我们知道>和重定向符。那么1和2是什么?...实际上, > 就相当于 1> 也就是重定向标准输出,不包括标准错误。通过2>&1,就将标准错误重定向到标准输出了,那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。...linux shell 中"2>&1"含义脚本是: nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对于&1 更准确的说应该是文件描述符 1,而1 一般代表的就是...试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出; 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

    2.4K20

    Linux中的重定向

    FileDescriptor Linux中给程序提供的三种I/O设备 标准输入STDIN 0 默认接受来自终端窗口的输入 标准输出STDOUT 1 默认输出到终端窗口...标准输出和错误重定向 标准输出和标准错误可以被重定向到指定文件,而非默认的当前终端 格式: 命令 操作符号 文件名 支持的操作符: 1>或> | 把STDOUT重定向到文件 [root@centos7...把STDERR重定向到文件 [root@centos7 ~]# ls /data/aaa 2> /data/file0.txt 查看不存在的文件目录并重定向 [root@centos7 ~]# cat...data/file2.txt [root@centos7 ~]# cat /data/file2.txt centos7.shadowlinuxer.org 10.0.0.101 把输出和错误重定向追加到文件...或者|&来实现 命令格式: CMD1 2>&1 | CMD2 CMD1 |& CMD2 [root@centos7 ~]# seq -s+ 1 10 | bc 55 tee命令 利用tee命令可以重定向到多个目标

    2.6K00

    Linux中Shell重定向

    > 默认为标准输出重定向,与 1> 相同 1>&2 意思是把标准输出重定向到标准错误. 2>&1 意思是把标准错误输出重定向到标准输出。...&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中. >&2即1>&2也就是把结果输出到和标准错误一样 /dev/null是一个文件,这个文件比较特殊,所有传给它的东西它都丢弃掉...把上述的标准输出和错误输出重定向到文件 > ls rumenz.txt 1.txt 1>out.log 2>err.log > cat out.log rumenz.txt > rumenz cat err.log...out.log将标准输出重定向到文件,但是1>&2将标准输出重定向到了错误输出,所以out.log里面什么也没有. > ls rumenz.txt 1.txt > out.txt 2>&1 > cat...out.txt ls: cannot access 1.txt: No such file or directory rumenz.txt > out.log将标准输出重定向到文件,但是2>&1将错误输出重定向到标准输出

    1.6K10

    linux 管道符重定向

    输入重定向来讲,用到的符号及其作用如表3-1所示。...直到遇见分界符才停止命令 1 > 文件2将文件1作为命令的标准输入并将标准输出到文件2对于输出重定向来讲,用到的符号及其作用如表3-2所示。...表3-2                                         输出重定向中用到的符号及其作用符号作用命令 > 文件将标准输出重定向到一个文件中(清空原有文件的数据)命令 2>...文件将错误输出重定向到一个文件中(清空原有文件的数据)命令 >> 文件将标准输出重定向到一个文件中(追加到原有内容的后面)命令 2>> 文件将错误输出重定向到一个文件中(追加到原有内容的后面)命令 >...brw-rw----. 1 root disk 8, 1 Oct 23 09:29 /dev/sda1brw-rw----. 1 root disk 8, 2 Oct 23 09:29 /dev/sda2

    3.3K10

    Linux中Shell重定向

    > 默认为标准输出重定向,与 1> 相同 1>&2 意思是把标准输出重定向到标准错误. 2>&1 意思是把标准错误输出重定向到标准输出。...&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中. >&2即1>&2也就是把结果输出到和标准错误一样 /dev/null是一个文件,这个文件比较特殊,所有传给它的东西它都丢弃掉...把上述的标准输出和错误输出重定向到文件 > ls rumenz.txt 1.txt 1>out.log 2>err.log > cat out.log rumenz.txt > rumenz cat err.log...将标准输出重定向到文件,但是1>&2将标准输出重定向到了错误输出,所以out.log里面什么也没有. > ls rumenz.txt 1.txt > out.txt 2>&1 > cat out.txt...ls: cannot access 1.txt: No such file or directory rumenz.txt > out.log将标准输出重定向到文件,但是2>&1将错误输出重定向到标准输出

    1.8K20

    Linux中Shell重定向

    > 默认为标准输出重定向,与 1> 相同 1>&2 意思是把标准输出重定向到标准错误. 2>&1 意思是把标准错误输出重定向到标准输出。...&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中. >&2即1>&2也就是把结果输出到和标准错误一样 /dev/null是一个文件,这个文件比较特殊,所有传给它的东西它都丢弃掉...把上述的标准输出和错误输出重定向到文件 > ls rumenz.txt 1.txt 1>out.log 2>err.log > cat out.log rumenz.txt > rumenz cat err.log...将标准输出重定向到文件,但是1>&2将标准输出重定向到了错误输出,所以out.log里面什么也没有. > ls rumenz.txt 1.txt > out.txt 2>&1 > cat out.txt...ls: cannot access 1.txt: No such file or directory rumenz.txt > out.log将标准输出重定向到文件,但是2>&1将错误输出重定向到标准输出

    2.4K00

    【Linux】开始了解重定向

    – 史铁生 《我与地坛》 开始了解重定向 1 前言 2 重定向与缓冲区 2.1 文件描述符分配规则 2.2 重定向的现象 2.3 重定向的理解 2.4 缓冲区的理解 3 进程与重定向 Thanks♪...1 前言 上一篇文章我们复习了C文件IO相关操作,了解了linux下的文件系统调用(open write read ),认识了文件描述符fd值,今天我们来学习重定向和缓冲区,这个缓冲区之前遇到过很多次,...2 重定向与缓冲区 2.1 文件描述符分配规则 接下来我们来了解重定向!...再来试试: 关闭 2 close(2) -->新创建的文件的文件描述符就成了 2 关闭 1 close(1) -->就什么也打印不出来(标准输出被关闭自然打印不出来) 关闭 0 2 close(2)close...这样通过dup2既可以完成重定向: 1 #include 2 #include 3 #include

    10410

    Linux中2>&1的含义

    A Linux中0、1、2的含义 名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例) 标准输入(stdin) 0 < 或 << System.in /dev/stdin...从上面可以得到, 平时写的echo "hello" > t.log 也可以写成echo "hello" 1> t.log B 关于2>&1的含义 含义:将标准错误输出重定向到标准输出 符号>&是一个整体...不能写成2&>1 C 为什么2>&1要放在后面 例子:nohup java -jar app.jar >log 2>&1 & 最后一个&表示把这条命令放后台运行 问题:为什么2>&1放在>log后面??...回答: 我们不妨把1和2都理解是一个指针,那么这么想 本来1->屏幕(1指向屏幕) 执行>log后,1->log(1指向log) 执行2>&1后,2->1(2指向1,而1指向log,因此2也指向了...log) 那么再分析一下nohup java -jar app.jar 2>&1 >log & 本来1->屏幕 执行2>&1后,2->1(2也指向屏幕) 执行>log后,1->log(这时候1指向log

    1K61

    06-1重定向

    标准输出重定向示例1.png ? 标准输出重定向示例1-1.png ② 示例2 现在让我们重复重定向测试,但是这次做一点变换,我们把目录名称换成一个不存在的目录 /bin/usr 。...ls -l /bin/usr > ls-output.txt 2>&1 使用此方法,将执行两个重定向操作。...首先,重定向标准输出到 ls-output.txt 文件中,然后使用标记符 2>&1 把文件描述符 2 (标准错误)重定向到文件描述符 1 (标准输出)中。...注意: 这些重定向操作的顺序是非常重要的。 (2)方法2 最近的 bash 版本提供了效率更高的第二种方法来实现这一联合的重定向操作。...ls -l /bin/usr 2> /dev/null # 把标准错误重定向到/dev/null ,也就是不处理错误信息 (1)位桶 bit bucket,是一个古老的 UNIX 概念,由于它的普适性

    86120

    六.Linux管道及重定向

    Linux管道及重定向 对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制。在shell中,我们通常使用符合‘|’来表示管道,符号‘>’和‘重定向。...\n"); exit(EXIT_SUCCESS); } else//execute current command in current process { dup2(fd[1],1)...=execvp(cmd1[0],cmd1)) printf("No such command!...例如,标准输入、标准输出、标准错误的文件描述符默认是 0、1、2 。当进程需要从标准输入中读取数据时,就会通过 0 索引找到标准输入所对应的内存缓冲区来读取数据。...完整代码实现请参考StupidShell代码仓库 声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/linux%e7%ae%a1%e9%81%93%

    2.4K20

    记linux输出重定向操作>&

    记linux输出重定向操作>& 作者:matrix 被围观: 3,396 次 发布时间:2019-10-19 分类:command Linux | 一条评论 » 这是一个创建于 1048 天前的主题...) /proc/self/fd/1 错误输出(error output) 2 输出到屏幕(即控制台) /proc/self/fd/2 输出内容重定向 command >/dev/null 2>&1 这样执行就不会有任何信息显示和保存...2>&1使用&符号将2重定向绑定到1,意思是将错误信息指向控制台,而这个时候的控制台又指向了空设备。 如果去掉&符号的2>1会导致错误信息输出到文件名为1里面。...linux执行命令时会按顺序从左到右读取来确定0,1,2这三个输入输出的位置。 command 2>&1 >/dev/null 把两个重定向的位置写反之后就是完全不同的意思。...等同于command 2>&1 1>/dev/null linux执行命令到2>&1会将错误输出指向1即控制台,到这里就会完成错误输出(2)的位置确定。也就不会更改了。

    2.2K20
    领券