当前位置:   article > 正文

Linux(4)—— 重定向与管道_重定命令就是管道命令吗

重定命令就是管道命令吗

标准输入,标准输出和标准错误

  linux标准输入设备指的是键盘,标准输出设备指的是显示器,标准错误输出指的是显示器。执行一个命令或程序,按下回车键后只会有三种结果:显示程序运行的结果,显示状态和错误信息。
在这里插入图片描述

输出重定向

  有些时候你想要保存某些命令产生的输出而不是在显示器上显示它,比如输出到文件中当做日志进行统一查看。为了应对这样的问题 bash shell 也就提供了一些重定向的操作符。重定向简单理解就是使用“<”符来修改标准输入设备;使用 “>”符来修改标准输出设备
标准输出的两种重定向:

> 重定向
>> 重定向

  在编辑文章时发现编辑器也大量使用了许多编程思想,例如下图的引用文本的操作就是一种输出重定向。
在这里插入图片描述

标准输出格式: 命令 > 文件

功能:将命令执行后的结果输出到文件中;也就是把文件作为标准输出设备;如果没有此文件会自行创建,如果有他就会进行从头覆盖写入。

在这里插入图片描述

标准输出格式: 命令 >> 文件

功能:命令把文件的内容作为标准输出设备,但会在其后追加写保留以前的数据。

在这里插入图片描述

标准输出格式: 命令 2> 文件

功能:命令把文件的内容作为标准输出设备,将错误信息输出到文件内。

在这里插入图片描述

&>就可以同时重定向标准错误和标准输出

> 重定向理解为覆盖重定向,而把 >> 重定理解为追加重定向

禁止覆盖

  如果在工作中,我们想要在文件中追加内容时>>,却不小心只写入> 就执行了,那么我们的文件被覆盖了,因此就有了,禁止覆盖的命令,set – C
当然我们也可以解除这种禁止 set +C ,很好理解禁止 –C ,解除+C

输入重定向

  输入重定向:是指不使用系统提供的标准输入端口(键盘鼠标),而进行重新的指定。换言之,输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。重定向简单理解就是使用 “<”符来修改标准输入设备

标准输入格式: 命令 < 文件

功能:命令把文件的内容作为标准输入设备

标识符限定输入格式: 命令<<标识符

功能:命令把标准输入中读入内容,直到遇到“标识符”分解符为止

  输入输出重定向(同时使用) 命令< 文件1 >文件2 命令把文件1的内容作为标准输入,把文件2作为标准输出。

管道

  通过前面的学习,我们已经知道了怎样从文件重定向输入,以及重定向输出到文件。Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令且单向传递数据就就叫做管道(pipe)。

  Linux 管道使用竖线 | 连接多个命令,这被称为管道符;管道符 | 与两侧的命令之间也可以不存在空格,然而还是推荐在管道符 | 和两侧的命令之间使用空格,以增加代码的可读性。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

区别

  重定向操作符>将=命令与文件连接起来,用文件来接收命令的输出;而管道符|将命令与命令连接起来,用第二个命令来接收第一个命令的输出。

重定向: command > file
管道符: command1 | command1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/213034
推荐阅读
相关标签
  

闽ICP备14008679号