首页 > 其他分享 >6、I/O重定向与管道

6、I/O重定向与管道

时间:2023-12-10 17:26:06浏览次数:33  
标签:输出 重定向 文件 标准 管道 date 输入

一、标准输入、标准输出和标准错误

到目前为止,我们使用过的很多程序生成了不同种类的输出。这些输出通常包含两种类型。一种是程序运行的结果,即该程序生成的数据;另一种是状态和错误信息,表示程序当前的运行情况。比如输入ls命令,屏幕上将显示它的运行结果以及它的相关错误信息。

 

许多程序从一个称为标准输入(standard input,表示为stdin)的设备来得到输入。默认情况下,标准输入连接到键盘。I/O重定向功能可以改变输出内容发送的目的地,也可以改变输入内容的来源地。通常来说,输出内容显示在屏幕上,输入内容来自于键盘。但是使用I/O重定向功能可以改变这一惯例。

a.标准输出重定向

I/O重定向功能可以重新定义标准输出内容发送到哪里。使用重定向操作符“>”后面接文件名,就可以把标准输出重定向到另一个文件中,而不是显示在屏幕上。为什么我们需要这样做呢?它主要用于把命令的输出内容保存到一个文件中。比如,输入date命令会显示当前的时间,如果在date命令后面加“>”,并指向date.txt,那么结果就会写入date.txt文件中。

 

b.标准错误重定向

标准错误的重定向并不能简单地使用一个专用的重定向符来实现。要实现标准错误的重定向,不得不提到它的文件描述符(file descriptor)。每一进程在运行中都会打开一些文件,每一个文件都会有一个指定的数字标识,这个标识就是文件描述符。

在/proc 下随机查看一个进程打开的文件,如下图:

上述两个进程中都有0、1、2这三个文件描述符,这也是绝大多数进程都有的。

  • 0表示标准输入,可以理解为键盘输入;
  • 1表示标准输出,输出到终端;
  • 2表示标准错误,输出到终端;
  • 3及以上为常规文件的描述符。

 

 

 

 

 

 

 

标签:输出,重定向,文件,标准,管道,date,输入
From: https://www.cnblogs.com/yyz1-/p/17863506.html

相关文章

  • 深入探讨Linux中的I/O重定向与进程管道
    在Linux系统中,I/O重定向和进程管道是强大的工具,为用户提供了灵活性和效率。本文将深入探讨这两个概念,解释它们的基本原理以及如何在实际工作中充分利用它们。I/O重定向什么是I/O重定向?在Linux中,I/O重定向是一种将一个命令的输入或输出流重定向到另一个地方的技术。这使得用户可......
  • I/O重定向
    一、I/O重定向1、输出重定向输出重定向分为正确输出与错误输出正确输出:1>、1>>等价于>\>>,1可省略。错误输出:2>、2>>.其中,”>“表示覆盖,”>>“表示追加。2、输入重定向grep‘root’过滤rootgrep‘root’</etc/passwd输入重定向到/etc/passwd使用dd命令从/dev/zero中读......
  • I/O重定向与管道
    使用tty可以获取当前终端号,输入命令,例如date会将系统时间输出到终端中,当使用date>文件名会将系统时间输出到该文件中,修改密码的命令passwd,按下后不继续输入新密码,使用psaux|greppasswd获取刚才使用passwd进程的信息,其中有pid,使用ls/proc/进程号/fd和ll/proc/进程号/fd获......
  • CRM系统的销售管道具体是什么功能?对企业销售有什么用?
     在之前的文章里,我曾经提到过CRM系统中的销售管道。销售管道可以理解为您的销售过程管道,针对不同的产品线,或不同的销售方式,来创建不同的管道流程。今天我们就来说说,CRM销售管道有什么作用?1、开展销售预测含义:销售预测是指通过对市场趋势、客户需求、竞争状况等因素的分析,对企......
  • Linux I\O重定向与管道
    一:I\O重定向 linu系统中的三种I/O设备所代表的编号分别是:标准输入(STDIN),文件描述符为0,默认从键盘获取输入;标准输出(STDOUT),文件描述符为1,默认输出到显示屏;标准错误(STDERR),文件描述符为2,默认输出到显示屏。 I/O重定向就是为了改变默认输入、输出的位置:>:表示标准输出覆盖重定向;>>:......
  • CRM中的销售管道是什么?怎样提高销售效率?
     对销售团队来说,最好的管理不是监督,而是为他们提供尽可能地帮助,从而使他们创造更多效益。CRM系统能够帮助销售人员提高效率,摆脱重复繁琐的工作,专注于真正能产生价值的工作。下面说说,CRM软件与销售管道能协同提高销售效率吗?减少销售重复工作在减少销售人员手动操作和重复工作......
  • 使用auto rig pro在blender中实现动捕数据重定向
    场景需求:光学动捕数据为bvh格式(fbx的待测)原fbx包含模型和骨骼,但不含动画数据目标是将动画数据重定向到模型上两种方式:一种是保留模型骨骼,生成控制器。然后重定向另一种是删除模型骨骼,重建与动画骨骼类型的骨骼可能还有第三种,即使先修剪编辑模型骨骼,使之与动画骨骼类似......
  • Linux I/O重定向与管道详解
    LinuxI/O重定向与管道详解 原理
在Linux中,I/O重定向是通过重定向符号实现的。标准输入重定向使用符号“<”,标准输出重定向使用符号“>”。
例如,将文件file.txt的内容输出到终端,可以使用以下命令:catfile.txt将文件file.txt的内容输出到文件output.txt,可以使用以下命令:ca......
  • 第三单元 管道与中间件
    1.什么是中间件在ASP.NETCore中,中间件(Middleware)是一个可以处理HTTP请求或响应的软件管道。ASP.NETCore中给中间件组件的定位是具有非常特定的用途。例如,我们可能有需要一个中间件组件验证用户,另一个中间件来处理错误,另一个中间件来提供静态文件,如JavaScript文件,CSS文件,图......
  • Redis管道
    背景Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤:1客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。2服务端处理命令,并将结果返回给客户端。上述两步称为:Rou......