`

shell 屏幕输出数据重定向:标准输出与错误输出 1>/dev/null

阅读更多

linux shell下常用输入输出操作符是:

1.  标准输入   (stdin) :代码为 0 ,使用 < 或 << ; /dev/stdin -> /proc/self/fd/0   0代表:/dev/stdin
2.  标准输出   (stdout):代码为 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1  1代表:/dev/stdout
3.  标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr

#显示当前目录文件 test.sh test1.sh test1.sh实际不存在
[chengmo@centos5 shell]$ ls test.sh test1.sh
ls: test1.sh: 没有这个文件和目录
test.sh
 
#正确输出与错误输出都显示在屏幕了,现在需要把正确输出写入suc.txt
# 1>可以省略,不写,默认所至标准输出
[chengmo@centos5 shell]$ ls test.sh test1.sh 1>suc.txt
ls: test1.sh: 没有这个文件和目录
[chengmo@centos5 shell]$ cat suc.txt 
test.sh
 
#把错误输出,不输出到屏幕,输出到err.txt
[chengmo@centos5 shell]$ ls test.sh test1.sh 1>suc.txt 2>err.txt
[chengmo@centos5 shell]$ cat suc.txt err.txt 
test.sh
ls: test1.sh: 没有这个文件和目录
#继续追加把输出写入suc.txt err.txt  “>>”追加操作符
[chengmo@centos5 shell]$ ls test.sh test1.sh 1>>suc.txt 2>>err.txt 
 
#将错误输出信息关闭
[chengmo@centos5 shell]$ ls test.sh test1.sh 2>&-
test.sh
[chengmo@centos5 shell]$ ls test.sh test1.sh 2>/dev/null
test.sh
#&[n] 代表是已经存在的文件描述符,&1 代表输出 &2代表错误输出 &-代表关闭与它绑定的描述符
#/dev/null 这个设备,是linux 中黑洞设备,什么信息只要输出给这个设备,都会给吃掉 
 
#关闭所有输出
[chengmo@centos5 shell]$ ls test.sh test1.sh  1>&- 2>&- 
#关闭 1 ,2 文件描述符
[chengmo@centos5 shell]$ ls test.sh test1.sh  2>/dev/null 1>/dev/null
#将1,2 输出转发给/dev/null设备 
[chengmo@centos5 shell]$ ls test.sh test1.sh >/dev/null 2>&1
#将错误输出2 绑定给 正确输出 1,然后将 正确输出 发送给 /dev/null设备  这种常用
<P>[chengmo@centos5 shell]$ ls test.sh test1.sh &>/dev/null
#& 代表标准输出 ,错误输出 将所有标准输出与错误输出 输入到/dev/null文件

分享到:
评论

相关推荐

    Linux 命令 shell 重定向 >

    - `2&gt;&1` 表示将错误输出(2)重定向到标准输出(1),这样错误信息也会被输出到屏幕或指定的文件。 - `&&gt; filename` 是一个简化的形式,它同时将标准输出和错误输出都重定向到`filename`。 4. **输出打印不显示*...

    shell中1小于/dev/null 2大于1的含义

    shell中可能经常能看到:&gt;/dev/null 2&gt;&1 命令的结果可以通过%&gt;的形式来定义输出 /dev/null 代表空设备文件 &gt; 代表重定向到哪里,例如:echo “123” &gt; /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以”&gt;...

    shell中1小于/dev/null 2大于&amp;1的含义

    在Shell脚本编程中,`&gt;/dev/null 2&gt;&1` 是一个常见的命令行操作,它的目的是将命令的输出(包括标准输出和标准错误)都重定向到一个特殊的地方——`/dev/null`,通常被称为“黑洞”或者“空设备文件”。这个文件的...

    详解shell中&gt;/dev/null 2&gt;&1到底是什么

    首先,`&gt;/dev/null`是将标准输出(标准输出的文件描述符为1)重定向到`/dev/null`,这是一个特殊的设备文件,通常被称为“黑洞”,因为它会丢弃所有写入它的数据,不会有任何输出。这意味着任何命令的正常输出都不会...

    详解shell中/dev/null 2&1到底是什么

    相信大家经常能在shell脚本中发现&gt;/dev/null 2&gt;&1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2&gt;&1 &gt;/dev/null,出了一点小问题之后,我才开始去了解这段...

    高级Bash脚本编程指南.docx

    - **禁止标准输出**:例如,使用`cat $filename &gt; /dev/null`可以防止文件内容被输出到屏幕。 - **禁止标准错误**:例如,使用`rm $badname 2&gt;/dev/null`可以在删除不存在的文件时不显示错误信息。 - **同时禁止标准...

    详解nohup /dev/null 2&gt;&1 含义的使用

    在 `nohup /mnt/Nand3/H2000G &gt;/dev/null 2&gt;&1 &` 这个例子中,`&gt;/dev/null` 表示将标准输出(文件描述符 1)重定向到 `/dev/null`,这是一个特殊的设备文件,任何写入它的数据都会被丢弃,相当于“黑洞”。`2&gt;&1` ...

    linux shell数据重定向(输入重定向与输出重定向)详细分析

    - `ls test.sh test1.sh 2&gt;&1`:将错误输出重定向到与标准输出相同的地方,即合并输出。 - `ls test.sh test1.sh 2&gt;/dev/null`:将错误输出丢弃,不显示在屏幕上。 此外,还可以使用`&&gt;`(或`&gt;&`)将标准输出和错误...

    linux下输入输出重定向.docx

    例如,mysh &gt; /dev/null 2&gt;&1 就可以忽略标准输出和错误输出。 在 IO 重定向中,我们需要了解基本概念,包括 FD(File Descriptor)、STDIN、STDOUT 和 STDERR 等。FD 是一个文件描述符,shell 的 FD 通常为 10个,...

    vim编辑器中掌握输入输出重定向与管道命令的应用

    在某些情况下,我们可能希望丢弃命令的错误输出,如`grep delegate /etc/* 2&gt;/dev/null`,这会过滤掉grep因权限问题无法打开文件时的错误提示,让屏幕只显示匹配的搜索结果。 了解并熟练运用输入输出重定向和管道...

    一文学会重定向.zip

    8. **重定向标准错误到标准输出**:`2&gt;&1`表示将错误输出与标准输出合并。例如,`command 2&gt;&1 &gt; all_output.txt`将所有输出(包括错误)都写入all_output.txt。 9. **历史记录重定向**:在shell脚本中,`exec`命令...

    linux shell 管道命令(pipe)使用及与shell重定向区别

    `2&gt;&1`,将错误输出与标准输出合并。 结合使用管道和重定向,可以实现复杂的数据处理流程,例如: - `ls -l | grep '.txt' &gt; files.txt`: 列出当前目录下的所有文件,并筛选出以'.txt'结尾的文件,结果保存到`files...

    Linux详细教程大全之shell脚本基础4-管道IO重定向等.docx

    - **标准输出(stdout)**:默认输出到终端,文件描述符为1,可以使用`&gt;`进行重定向。 - **标准错误(stderr)**:通常用于错误信息,文件描述符为2,也可以通过`2&gt;`进行重定向。 重定向操作符包括: - `&gt;`:...

    Linux——shell编程基础

    - 示例:`find / -name test &gt; /dev/null 2&gt;&1` 的含义是搜索根目录下的名为 "test" 的文件,并将输出重定向到空设备文件 `/dev/null`,同时将错误输出也重定向到同一位置。 #### 五、Shell 变量管理 - **变量...

    Bash中文件描述符的详细介绍

    在Bash shell编程中,文件描述符是至关重要的概念,它们是操作系统与程序之间交互数据的主要方式。文件描述符是一个非负整数,用于标识进程打开的文件或管道。在Linux系统中,一切皆文件,包括设备、网络连接等,都...

    Linux Shell常用技巧

    - **`/dev/null`**:通常用于丢弃不需要的数据或重定向不需要的输出。 - **`/dev/tty`**:代表当前终端(或终端仿真器)的设备文件,可以用来从终端读取数据。 示例脚本 `test_dev_null.sh` 展示了如何使用 `/dev/...

    shell模块总结(修订版7.7)(1)1

    - `&&gt;/dev/null`:将标准输出和标准错误输出都重定向到黑洞。 14. 用户配置文件: - `~/.bashrc`:用户每次打开新终端时加载,只对当前用户有效,常用于定义变量。 15. 系统配置文件: - `/etc/profile`:所有...

    linux shell 中 2>1的含义

    linux shell 中”2&gt;&1″的含义 脚本: nohup /mnt/Nand3/H2000G &gt;/dev/null 2&gt;&1 & 对于& 1 更准确的说应该是文件描述符...把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准

    实验十二 Bash Shell相关指令练习

    8. 错误重定向:`2&gt;`将错误输出到指定文件,`2&gt;&1`将标准错误与标准输出合并。 练习四涉及文件读取、追加以及邮件发送: 1. `cat`:连续查看多个文件。 2. `&gt;&gt;`:追加内容到文件,不会覆盖原有内容。 3. `1&gt;`:将...

Global site tag (gtag.js) - Google Analytics