当我们在s h e l l中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆, s h e l l同时也给出了相应的文件名。
下面就是这些文件描述符及它们通常所对应的文件名:
文件文件描述符
输入文件—标准输入stdin 0:它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。
输出文件—标准输出stdout 1:它是命令的输出,缺省是屏幕,也可以是文件。
错误输出文件—标准错误stderr 2:这是命令错误的输出,缺省是屏幕,同样也可以是文件。
如果没有特别指定文件说明符,命令将使用缺省的文件说明符(你的屏幕,更确切地说是你的终端)。
系统中实际上有1 2个文件描述符,但是正如我们在上表中所看到的, 0、1、2是标准输入、输出和错误。可以任意使用文件描述符3到9。
在执行命令时,可以指定命令的标准输入、输出和错误,要实现这一点就需要使用文件重定向。下面列出了最常用的重定向组合,并给出了相应的文件描述符。
在对标准错误进行重定向时,必须要使用文件描述符,但是对于标准输入和输出来说,这不是必需的。
常用文件重定向命令
command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个文件中(追加)
command 1 > fielname 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2> filename 把标准错误重定向到一个文件中
command 2>> filename 把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
command < filename >filename2 把c o m m a n d命令以f i l e n a m e文件作为标准输入,以f i l e n a m e 2文件作为标准输出
command < filename 把c o m m a n d命令以f i l e n a m e文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到d e l i m i t e r分界符
command <&m 把文件描述符m作为标准输入
command >&m 把标准输出重定向到文件描述符m中
command <&- 关闭标准输入
分享到:
相关推荐
以Linux操作系统为例,当系统启动时,会在内核初始化阶段为每一个进程创建三个默认打开的文件句柄,分别对应标准输入、标准输出和标准错误输出。这一过程发生在内核的初始化函数`start_kernel()`中,如上文中提供的...
3. **标准错误输出(Standard Error Output, stderr)**:文件描述符为2,同样与终端的屏幕关联,主要用来展示进程产生的错误信息。 通过理解这些概念,我们可以更好地控制和管理Linux中的数据流。 #### 二、标准...
Java提供了丰富的I/O处理机制,包括标准输入输出流、字节流、字符流等多种方式来处理数据的读取和写入。标准输入输出流是Java中非常基础且重要的组成部分。 **1.1 标准输入输出流简介** - **System.out**: 是一个`...
C语言中的标准输入输出函数是编程基础中的重要组成部分,它们为程序员提供了强大的工具来处理数据的输入和输出。本文将深入解析C语言标准输入输出函数,特别是格式化输入输出函数printf()和scanf(),以及它们在Turbo...
C++标准输入输出流是C++语言中数据输入和输出的基础部分,包括标准输入设备键盘、标准输出设备显示器、外存磁盘上的文件和内存中指定的字符串存储空间等几个方面。C++语言系统为实现数据的输入和输出定义了一个庞大...
易语言曙光重定向输出模块源码,曙光重定向输出模块,曙光_初始化标准输入输出,曙光_标准输入,曙光_检查标准输入,曙光_标准输出,曙光_标准错误输出,GetStdHandle,ReadFile_,PeekNamedPipe,WriteFile_,是否在运行,终止,...
在 Linux 系统中,每个进程都有三个标准文件:标准输入文件(stdin)、标准输出文件(stdout)和标准错误文件(stderr)。标准输入文件是从键盘输入数据的地方,标准输出文件是将输出数据显示在屏幕上的地方,而标准...
标准输入输出流是指对标准输入设备和标准输出设备的输入输出简称。 在C++语言中,数据的输入和输出包括对标准输入设备键盘和标准输出设备显示器、对在外存磁盘上的文件和对内存中指定的字符串存储空间进行输入输出...
- **标准输入/输出**:Java的`System.in`、`System.out`和`System.err`分别代表标准输入、标准输出和标准错误输出,通常用于控制台交互。 - **文件字节流**:`FileInputStream`和`FileOutputStream`用于读写文件,...
本实验旨在帮助学生深入理解和熟练运用C++中的输入输出流,包括标准输入输出流和文件输入输出流。 首先,我们关注的是标准输入输出流。在C++中,`std::cin` 用于标准输入,通常是从键盘获取用户输入;而 `std::cout...
1. 实时性:对于一般输入输出设备,如果处理机提供的服务不及时,可能丢失数据,或造成外围设备工作的错误。 2. 与设备无关性:独立于具体设备的标准接口,使得计算机系统的使用者,在需要更换外围设备时,各种不同...
"标准的输入输出流和文件流" 本文主要讲解了C++中标准的输入输出流和文件流的基础知识和实验报告。实验目的是练习标准的输入输出流和文件输入输出流,通过编写代码和调试来深入理解相关概念。 一、标准输入输出流 ...
标准输入默认是从键盘获取数据,标准输出和标准错误则通常显示在屏幕上。重定向功能可以将这些流指向文件、网络连接或其他外部设备,从而实现更灵活的数据交互。 例如,通过重定向输出,我们可以将程序的运行结果...
- 双重输出重定向:可以同时指定标准输出和错误输出,如`command 2> error_file > output_file`,或者使用`&>`或`&>>`将所有输出合并到一个文件。 3. 输入结束符 在Linux中,用户可以使用`cat > file`创建新文件...
### 文件输入流类和标准输出流类实例解析 在C++编程语言中,处理文件的输入输出是一项非常重要的技能。本篇文章将详细分析一个具体的示例程序,该程序旨在从一个文本文件中读取一系列不定长的整数,并在标准输出...
ACM输入输出规则是参与ACM国际大学生程序设计竞赛的关键技能之一,它确保参赛者能够准确无误地按照题目要求处理输入数据并输出结果,从而避免因格式错误而导致的Presentation Error(PE)。在ACM竞赛中,自动评测...
总的来说,CMD的输入输出重定向和管道是Windows系统管理和自动化的重要工具。通过掌握这些技术,我们可以编写更加高效和灵活的批处理脚本,提高工作效率,同时也能更好地理解和控制系统的运行状态。
System.out 和 System.err 分别对应标准输出和错误输出,通常显示在控制台上。可以通过System类的setIn(), setOut() 和 setErr() 方法替换默认的流。 9.2 文件处理 在Java中,文件操作主要通过File类进行。File类...