Linux中输入输出重定向中2>&1的使用(转)
实例
1)command 2>errfile : command的错误重定向到文件errfile。
2)command 2>&1 | ...: command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。
3)var=`command 2>&1`: command的错误重定向到标准输出,错误和标准输出都赋值给var。
4)command 3>&2 2>&1 1>&3 | ...:实现标准输出和错误输出的交换。
5)var=`command 3>&2 2>&1 1>&3`:实现标准输出和错误输出的交换。
6)command 2>&1 1>&2 | ... (wrong...) :这个不能实现标准输出和错误输出的交换。因为shell从左到右执行命令,当执行完2>&1后,错误输出已经和标准输出一样的,再执行 1>&2也没有意义。
"2>&1 file"和 "> file 2>&1"区别
1)cat food 2>&1 >file :标准输出被重定向到文件file,错误输出到终端。
2)cat food >file 2>&1 :错误输出重定向到和标准输出一样,标准输出被重定向到文件file,然后,错误和标准都输出到文件file。
补充
通常打开的文件在进程推出的时候自动的关闭,但是更好的办法是当你使用完以后立即关闭。用m<&-来关闭输入文件描述符m,用 m>&-来关闭输出文件描述符m。如果你需要关闭标准输入用<&-; >&- 被用来关闭标准输出。
相关推荐
Linux下的输入输出重定向 Linux下的输入输出重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变。默认情况下,Linux的输入是键盘,输出是显示器。但是,我们可以使用重定向来改变这些设置。 ...
- `lsyouno 2>&1` 将命令`lsyouno`的标准错误输出重定向到标准输出。 - `lsyes 2>&1` 将命令`lsyes`的标准错误输出重定向到标准输出。 - `2>&1` 再次将这两个命令的标准输出合并,使得它们都通过管道传递给`egrep`。...
在Linux系统中,输入输出重定向是一种强大的工具,它允许用户改变命令的标准输入输出的方向。这表示可以在命令执行过程中指定不同的输入源和输出目标,而不是仅仅依赖于键盘和显示器这两种标准设备。了解并掌握输入...
### Linux操作之输入输出重定向和管道 #### 标准输入输出与错误处理 在Linux或Unix环境下,标准输入(`stdin`)、标准输出(`stdout`)以及标准错误输出(`stderr`)是非常重要的概念。这三个流通常与控制终端关联...
为了解决这些问题,Linux引入了两种机制:**输入/输出重定向** 和 **管道**。 #### 四、输入重定向 **输入重定向** 允许我们将命令的标准输入指向一个指定的文件。这通常用于改变命令的输入源。 - **基本语法**:...
在Linux操作系统中,输入/输出重定向是一种强大的功能,它允许我们改变命令的默认行为,即将标准输入、标准输出和标准错误输出从默认设备(通常是键盘、显示器和显示器)重定向到文件或其他输入源。这一特性对于自动...
6. "2>&1"操作符可以将标准错误输出重定向到标准输出的位置。例如,如果想同时捕获命令的标准输出和错误输出到同一个文件中,可以使用命令"ls /nonexistentdir &> alloutput"。 7. "操作符用于从键盘接收输入,但它...
在Linux操作系统中,输入输出重定向是一项基础且强大的功能,它允许用户灵活地控制程序的输入来源和输出目的地,而不局限于标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。这一特性使得命令行操作...
本文将详细讲解如何在不同的操作系统环境下,如Windows的cmd和PowerShell,以及Unix/Linux的shell中使用输入、输出重定向。 ### 输入重定向(stdin) **Linux/Unix Shell** 在Linux或Unix shell中,我们通常使用`...
在Linux系统中,输入输出重定向是一项非常重要的功能,它允许用户改变程序或命令的输入来源或输出目标,从而实现更灵活的数据处理方式。本文将深入探讨Linux Shell中的输入-输出重定向的基本概念、常用符号以及实际...
若要合并STDOUT和STDERR,可以使用`command > file 2>&1`或`command >> file 2>&1`。 此外,Here Document是另一种输入重定向形式,常用于向交互式脚本或程序提供多行输入。基本语法是`command ,其中`document`在...
本教程重点讲解的是Shell的输入输出重定向功能,这是Linux命令行操作中的一个重要概念,对于提升效率和自动化任务处理有着重要作用。 首先,我们要理解Shell的默认行为:屏幕输出(stdout)和错误输出(stderr)。...
- "mysh > mylog.txt 2>&1" 将mysh命令的标准输出和错误都重定向到mylog.txt文件中。 - "wc 使用wc命令计算文件中的单词数,将文件file作为wc命令的标准输入。 - "cmd >> file 2>&1" 将cmd命令的标准输出追加到文件...
通过使用`system()`函数或`exec()`家族函数,我们可以灵活地控制命令的输入输出流,从而实现更复杂的功能。此外,通过高级函数如`getdelim()`,还可以处理包含特殊字符的输入数据,进一步扩展了我们的编程能力。希望...
- `2>&1` 表示将错误输出(2)重定向到标准输出(1),这样错误信息也会被输出到屏幕或指定的文件。 - `&> filename` 是一个简化的形式,它同时将标准输出和错误输出都重定向到`filename`。 4. **输出打印不显示*...
Linux 操作系统中,重定向命令行是非常重要的概念,它可以将命令的输入、输出和错误输出重定向到指定的文件或设备中,从而实现灵活的输入输出控制。本文将详细介绍 Linux 中重定向命令行的基本概念、语法和应用实例...
在Linux世界中,掌握输入输出重定向和管道命令是提高命令行操作效率的关键。vim编辑器虽然不直接涉及这些操作,但在使用vim之外的shell环境中,它们是非常实用的工具。 输入输出重定向允许我们将命令的输入和输出从...
内容概要:本文详细介绍了Linux shell脚本编程中的几个核心知识点,包括输入输出重定向、Shell变量操作、基本的Shell编程技巧以及简单的算术运算方法。每个知识点都有详细的命令演示和具体的应用实例,帮助读者更好...
在Linux操作系统中,输入输出重定向是控制命令执行时输出流向的重要工具,它允许我们将原本输出到屏幕的信息重定向到文件或设备,甚至其他命令。本文将深入解析Linux中的输入输出重定向及其常见用法。 1. 输出...