Linux管道和重定向
目录:
许多人已经知道,在Linux中,该终端为我们提供了宝贵的工具,可以改进和优化我们寻求的结果。 在这篇文章中,我们利用教您如何使用重定向和管道的优势。 事实证明,该终端就像一个具有令人难以置信的实用程序的盒子。 它提供了无数的命令和工具,可帮助我们每天执行日常任务。
内容索引
Linux中的重定向和管道
基本概念
在继续解释什么是管道及其重要性(有趣的部分)之前,我们必须清楚Linux的三个基本概念:标准输入,标准输出和标准错误。
标准输入:表示应用程序正确运行所必需的数据。 它们的一个示例可以是带有结构化数据或从终端输入的信息的文件。 在终端中,它表示为类型0。
标准输出:是应用程序用于显示有关其过程和/或结果的信息的方式,这些信息可以是简单消息,有关进度的通知或具有结构化数据(例如过程分辨率)的文件(例如,报告)。 在终端中,它表示为类型1。
标准错误:这是应用程序通知我们有关在其执行时可能发生的问题的方式。 在终端中将其表示为类型2。
所有类型都在系统中表示为物理文件,因为您必须在上一篇文章中已经读过,在Linux中,一切都是文件。
重新导向
现在什么是重定向?
重定向包括将信息从一种类型移动到另一种类型(上述类型),例如,从标准错误到标准输出,或者从标准输出到标准输入。 在终端中,我们使用>符号完成此操作。
重定向输出和标准错误
例如,重定向命令的输出并将其发送到文件。 我们只需要执行:
ls -la〜>(文件名)
但是,如果我们以此方式执行,则每次命令输出都会替换文件的内容。 如果我们想要将此输出添加到文件中,则执行如下:
ls -la〜>>(文件名)
有趣的是, 我们可以重定向标准输出,错误和输入。 在这里,我开头提到的数字才有意义。 例如,为了强制程序向我们显示在执行过程中生成的错误,我们将标准错误在执行过程中重定向到标准输出:
应用2 >>&1
其中2代表标准误差,&&1代表标准输出。
我们还可以在某些过程中丢弃标准错误,这在系统管理中很常见。 为此,我们执行:
应用2> / dev / null
甚至丢弃标准输出:
应用程序> / dev / null
由于在Linux中, / dev / null文件是一个特殊文件,在该文件中,信息被发送以被丢弃 。
重定向输入
与重定向标准输出和错误的方式相同,我们可以使用文件中的标准输入来执行此操作,为此,我们使用运算符< 。
我们建议您最好的鲜为人知的Linux浏览器这在通过键盘输入参数的命令或程序中很有用,这样我们可以用文件替换它们,例如:
回声“ Hello world”>问候猫<问候Hello world
看一下:Linux命令:了解和操作系统
流水线
了解重定向的操作后,管道的概念将非常简单。 在Unix哲学的原理中,我们有这样一个事实,即小型应用程序负责执行非常具体的任务,并且一起执行复杂的任务。 遵循此原理, 必须存在一组应用程序相互交互的方式 。 这就是所谓的管道出现的地方。
管道是一种特殊的重定向类型,它允许您将一个命令的标准输出作为另一个命令的标准输入发送 。 表示它的方式是使用符号|。 (管道) 。 它的主要用途是为我们提供了连接命令,丰富编程的可能性。
一个简单且非常有用的示例是查看使用ps在系统上运行的进程,并将其输出重定向到排序以按PID 对它们进行排序 :
ps -a | 排序
如您所见,重定向和管道是Linux的基本概念,我们一定要处理。 这样,您将在终端中感到越来越舒适。
在评论中告诉我们,您将在终端中使用什么或使用重定向和管道?