zoukankan      html  css  js  c++  java
  • 浅说shell中I/O重定向与管道的区别

    自己做个浅显的小笔记

    linux中shell的I/O重定向与管道,乍一看很类似,但实际它们还是有很大区别的

    管道:“|”,是将前一个命令的输出(stdout)作为后一个命令的输入(stdin)

    例如:ls -l | grep php
    是将ls -l的原本输出结果,传输给grep命令,只输出匹配php字符的行内容

    注意点:管道只处理正确的输出,将正确的作为下一个的输入,并且确定下一个是可以接受输入的命令,否则放弃命令

    管道与重定向的区别:

    1、左边是有stdout(标准输出)的命令 | 右边是能够接受stdin(标准输入)的命令

        左边是有输出的命令 > 右边只能是文件

        左边是能接受输入的命令 < 右边只能是文件

    2、管道执行时,触发了两个进程,分别执行左右两边的命令

        重定向是在一个进程中完成的

  • 相关阅读:
    制作文件的备份
    文件的读写
    文件的打开与关闭
    文件操作介绍
    数据类型转换
    位运算
    进制
    函数使用注意事项
    匿名函数
     递归函数
  • 原文地址:https://www.cnblogs.com/huangzhen/p/2147921.html
Copyright © 2011-2022 走看看