Linux I/O的重定向基础讲解

介绍

这篇文章主要介绍“Linux I/O的重定向基础讲解”,在日常操作中,相信很多人在Linux I/O的重定向基础讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Linux I/O的重定向基础讲解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

<强>我们运行的所有命令基本上产生两种输出:

<李>

命令结果——程序产生的数据,以及

<李>

程序状态和错误消息,用来通知用户程序的执行细节。

在Linux和其他类Unix系统中,有三个默认文件(名称如下),这些文件也由外壳使用文件描述符号标识:

<李>

stdin或0 -它连接键盘,大多数程序从此文件读取输入。

<李>

stdout或1 -它连接屏幕,并且所有程序将其结果发送到此文件

<李>

stderr或2 -程序将状态/错误消息发送到此文件,它也连接到屏幕上。

因此,I/O重定向允许你更改命令的输入源以及将输出和错误消息发送到其他地方。这可以通过& lt;和比;重定向操作符来实现。

<>强如何在Linux中重定向标准输出到文件中

如下面的示例所示,你可以重定向标准输出,这里,我们要存储前命令的输出以供以后检查:

<>之前,美元top  -bn  5,祝辞。日志

<>强其中标志的含义:

<李>

- b -让高层以批处理模式运行,以便你可以将其输出重定向到一个文件或另一个命令。

<李>

- n -指定命令终止前的迭代次数。

你可以使用猫命令来查看。日志文件的内容:

<>之前,美元cat 上面。日志

要将命令输出附加在文件后面,请使用在比;操作符。

例如,要将前命令的输出追加在上面的顶部。日志文件中,特别是在脚本(或命令行)中,请输入下面的那行:

<>之前,美元top  -bn  5,祝辞祝辞。日志

注意:也可以使用文件描述符数字,上面的重定向命令等同于:

<>之前,美元top  -bn  5, 1在上面。日志

<>强如何在Linux中重定向标准错误到文件中

要重定向命令的标准错误,你需要明确指定文件描述符2,以便让壳牌了解你正在尝试做什么。

例如,下面的ls命令将在没有根权限的普通系统用户执行时产生错误:

<>之前,美元ls  -l /根/

你可以重定向标准错误到文件中:

<>之前,美元ls  -l /根,2祝辞ls-error.log美元,cat  ls-error。日志

癓inux

<中心>重定向标准错误到文件中

为了将标准错误附加在文件后,使用下面的命令:

<>之前,美元ls  -l /根,2在祝辞ls-error.log

<>强如何重定向标准输出及标准错误到一个文件中

还可以将命令的所有输出(包括标准输出和标准错误)捕获到单个文件中。这可以用两种可能的方式,通过指定文件描述符来完成:

<强> 1,* * *种是相对较旧的方法,其工作方式如下:

<>之前,美元ls  -l /根/,祝辞ls-error.log  2祝辞,1

上面的命令意思是壳牌首先将ls命令的输出发送到文件ls-error。日志(使用,祝辞ls-error.log),然后将所有写到文件描述符2(标准错误)的错误消息重定向到文件,ls-error.log(使用2祝辞,1)中。(LCTT译注:此处原文有误,径改)。这表示标准错误也被发送到与标准输出相同的文件中。

<强> 2,第二种并且更直接的方法是:

<>之前,美元ls  -l /根/,,祝辞ls-error.log

你也可以这样将标准输出和标准错误附加到单个文件后:

<>之前,美元ls  -l /根/,,在祝辞ls-error.log

<>强如何将标准输入重定向到文件中

大多数(如果不是全部)命令从标准输入获得其输入,并且标准输入默认连接到键盘。

要从键盘以外的文件重定向标准输入,请使用& lt;操作符,如下所示:

<>之前,美元cat  & lt;域。列表

癓inux

<中心>重定向文件到标准输入中

<>强如何重定向标准输入/输出到文件中

你可以如下在那种命令中同时执行标准输入,标准输出的重定向:

<>之前,美元sort 排序。输出

<>强如何使用管道进行I/O重定向

要将一个命令的输出重定向为另一个命令的输入,你可以使用管道,这是用于构建复杂操作命令的有力方法。

Linux I/O的重定向基础讲解