`
zccst
  • 浏览: 3323014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

I/O 重定向

 
阅读更多
文件描述符
默认情况下始终有3个"文件"处于打开状态, stdin (键盘), stdout (屏幕), and stderr (错误消息输出到屏幕上)。 这3个文件和其他打开的文件都可以被重定向。 对于重定向简单的解释就是捕捉一个文件, 命令, 程序, 脚本, 或者甚至是脚本中的代码块的输出, 然后将这些输出作为输入发送到另一个文件, 命令, 程序, 或脚本中每个打开的文件都会被分配一个文件描述符。stdin, stdout, 和stderr的文件描述符分别是0, 1, 和 2。 对于正在打开的额外文件, 保留了描述符3到9。 在某些时候将这些格外的文件描述符分配给stdin, stdout, 或者是stderr作为临时的副本链接是非常有用的。在经过复杂的重定向和刷新之后需要把它们恢复成正常的样子。

COMMAND_OUTPUT >
   # 重定向stdout到一个文件.
   # 如果没有这个文件就创建, 否则就覆盖.
> filename   
   # > 会把文件"filename"截断为0长度.
   # 如果文件不存在, 那么就创建一个0长度的文件(与'touch'的效果相同)
COMMAND_OUTPUT >>
   # 重定向stdout到一个文件.
   # 如果文件不存在, 那么就创建它, 如果存在, 那么就追加到文件后边.

1>filename
   # 重定向stdout到文件"filename".
1>>filename
   # 重定向并追加stdout到文件"filename".
2>filename
   # 重定向stderr到文件"filename".
2>>filename
   # 重定向并追加stderr到文件"filename".
&>filename
   # 将stdout和stderr都重定向到文件"filename".

2>&1
   # 重定向stderr到stdout.
   # 得到的错误消息与stdout一样, 发送到一个地方

i>&j
   # 重定向文件描述符i 到 j.
   # 指向i文件的所有输出都发送到j中去.

>&j
   # 默认的, 重定向文件描述符1(stdout)到 j.
   # 所有传递到stdout的输出都送到j中去.

0< FILENAME
< FILENAME
   # 从文件中接受输入.
   # 与">"是成对命令, 并且通常都是结合使用. 
关闭文件描述符
n<&- 关闭输入文件描述符n.
0<&-, <&- 关闭stdin.
n>&- 关闭输出文件描述符n.
1>&-, >&- 关闭stdout.
分享到:
评论

相关推荐

    I/O重定向简明教程(命令使用)

    I/O重定向简明教程(命令使用) I/O重定向简明教程(命令使用)

    网络编程中的I / O重定向

    应用程序打开或关闭文件时,需要由操作系统来决定如何访问包含了指定文件内容的一个设备。找到设备后, I / O请求会被转发给一个本地设备驱动程序。通过网络来访问一个设备也同样。...我们将其称为“I / O重定向”(I/O

    基于C++实现的Linux的 Shell 程序+项目开发文档,实现基本的命令执行功能,支持 I/O 重定向和管道操作

    本项目旨在开发一个用于 Linux 的 Shell 程序,利用 C++ 标准库和 Linux 系统调用来实现。该 Shell 程序提供了基本的命令执行功能,支持 I/O 重定向和管道操作,并实现了一些内置命令

    Linux环境下I_O重定向与异步通信的实现.pdf

    在Linux操作系统中,I/O重定向与异步通信是两个重要的概念,对于系统开发和优化具有深远的影响。本文主要探讨了在Linux环境下如何利用这两种技术实现串口通信,特别是针对海康威视的IP视频模块(IPMOD)的双处理器...

    擦除编码存储集群的一种高效的基于I / O重定向的重构方案

    提出了一个基于I/O重定向的重构方案,名为“RAM-RS”。该方案的目的是最小化用户和重构请求之间的I/O干扰。RAM-RS通过将针对故障节点的用户读写请求重定向到一个通过预分配的主存形成的、以RS编码方式构建的RAM区域...

    Linux下重定向详解

    在深入了解Linux下的I/O重定向之前,首先需要掌握一些基础的概念。 - **I/O重定向**:通常与文件描述符(File Descriptor, FD)有关,shell中通常包含10个文件描述符,编号为0至9。 - **常用文件描述符**: - 0 ...

    ESXI上虚拟机直连I/O设置配置文档

    这些技术能够提供设备隔离和DMA(直接内存访问)重定向,确保虚拟机可以安全地直接访问物理I/O设备而不影响系统稳定性和安全性。值得注意的是,DirectPath I/O技术对CPU有一定的要求,若CPU不支持相应的VT-d或IOMMU...

    CSAPP_shell_lab

    csapp_shelllab原版,已经有大部分的框架,完成几个信号处理函数和求值函数

    Linux实验八:LinuxC-编程-IO-重定向和管道.doc

    在Linux系统中,I/O重定向和管道是两种重要的进程间通信(IPC)方式,它们允许我们改变程序的标准输入、输出和错误流,或者在不同的进程中传递数据。本实验主要涵盖了这两个主题,通过编写和运行C语言程序来实践。 ...

    例程:将command的输入输出重定向到自己的进程

    这个过程涉及到操作系统级别的I/O重定向和管道原理。 在操作系统中,命令行(如cmd或bash)可以接收用户输入的命令,并将结果输出到屏幕。然而,我们有时希望捕获这些输入和输出,以便进行进一步处理,或者将它们与...

    Intel Virtualization Technology for Direct I/O

    Intel Virtualization Technology for Directed I/O(简称VT-d)是英特尔公司推出的一种硬件虚拟化技术,主要针对输入/输出设备的虚拟化。该技术的核心目标是提高虚拟机(VMs)中I/O设备的性能和安全性。为了实现这...

    shell(C语言开发)

    4. I/O 重定向:myshell 支持 I/O 重定向,stdin 和 stdout。 5. 后台程序执行:myshell 支持后台程序执行。 myshell 的源代码 myshell 的源代码主要包括以下部分: 1. 头文件引用:myshell.c 文件中引用了 stdio...

    Shell命令解释系统设计

    在本文中,我们将深入探讨如何设计一个具备处理前后台运行命令、管道、I/O重定向以及多命令执行功能的Shell。 首先,我们要理解Shell命令解释器的核心职责。它的主要工作是接收用户的命令输入,解析这些命令,并...

    操作系统期末复习资料

    dup和I/O重定向原理(案例分析) 文件逻辑地址、物理地址的概念 文件创建过程 一体化目录和分解式目录的概念 文件搜索过程 三种文件组织方式的概念和原理:顺序、链接、索引(不要FAT、NTFS) 增量式索引文件...

    VxWorks Device Driver 机制分析

    同时,VxWorks 还支持 I/O 重定向的功能,用户可以使用 ioGlobalStdSet 函数将系统保留的描述符 stdFd(0,1,2)重定向到 newFd 上,从而将标准输入/输出/错误输出重新定向到任何一个 I/O 设备上。 VxWorks Device ...

    IO system and File System

    I/O系统还支持I/O重定向和select()函数,使得应用程序可以以设备独立和可移植的方式访问不同的设备驱动程序。 6. I/O系统重定向与select()函数: I/O系统重定向是指把I/O操作从一个文件重定向到另一个文件或设备。...

    计算机操作系统操作系统五章-设备管理(与“设备”有关文档共153张).pptx

    设备独立性软件负责逻辑设备到物理设备的映射,提高了设备分配的灵活性,使得I/O重定向变得更加简单。 5. **虚拟设备和SPOOLing技术**:虚拟设备技术允许将一个物理设备模拟成多个逻辑设备,从而实现资源共享。...

    57119101_王晨阳_实验21

    实验成功实现了包括基本命令执行、内置命令(如`cd`和`exit`)、I/O重定向和管道等功能的简易Shell。代码进行了简化处理,实际编写时还需要考虑程序的健壮性,例如错误处理和异常情况的管理。 通过这次实验,参与者...

    操作系统课后答案之第五章.pdf

    设备独立性是操作系统的一个重要特性,它允许应用程序与物理设备分离,增强了设备分配的灵活性,方便I/O重定向。实现设备独立性需要设备驱动程序和设备独立性软件层,提供统一的接口。逻辑设备表(LUT)用于映射逻辑...

    UNIX_BASIC 第6章 UNIX Shell.pptx

    3. I/O 重定向:I/O 重定向是将标准输入、输出、错误流重定向到文件或其他设备, Shell 提供了多种 I/O 重定向的方式,如 &gt; &gt;&gt; 等。 4. Shell 变量:Shell 变量是 Shell 中的一种数据存储方式,变量可以是用户定义...

Global site tag (gtag.js) - Google Analytics