zoukankan      html  css  js  c++  java
  • 关于Linux_shell中的管道命令pipe “|”的简单学习和使用

    什么是 “|”?

    |其实是linux shell 中的一个命令:管道命令(pipe)
    管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,将其递给下一个命令,作为标准的输入 standard input。但是对于 stdandard error 信息没有直接处理能力。

    • 相关补充

      • linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值。
      • linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0,正确输出standard output 1,错误输出:error output 2。以后打开文件,新增文件绑定描述符,并可以依次增加。一条shell命令执行,都会继承父进程的文件描述符。因此,所有运行的shell命令,都会有默认3个文件描述符。
    • 如何查看命令参数

      • file 我们通过file命令可以查看这是个什么东西(文件类型)
      • !$代表了上一条命信令的参数。
      • file !$综合使用可以查看上一条命令参数

      对于任何一条linux 命令执行,它会是这样一个过程:

      1. 先有一个输入:输入可以从键盘,也可以从文件得到standard input

      2. 命令执行完成:成功了,会把成功结果输出到屏幕:standard output默认是屏幕

      3. 命令执行有错误:会把错误也输出到屏幕上面:standard error默认也是指的屏幕

    如何使用?


    command1正确输出,作为command2的输入 然后comand2的输出作为,comand3的输入 ,comand3输出就会直接显示在屏幕上面了。
    相当于一个为三个command建立一个通道,将其输入和输出连接了起来。

    实例分析:

    • 实例一:查看文本文件内容有关echo的句子
      我们使用 cat test.sh | grep -n 'echo'试试:

      bingo! 将cat命令查找到的信息(输出)作为grep的查找范围(输入)。
    • 实例二:实现一个小程序testwc
      我们使用cat test.txt | testwc试试:

      利用cat命令查看文件内容并作为testwc(这个是之前实现的简单wc功能的小程序)的输入。
  • 相关阅读:
    Python字符串学习
    文本压缩版本三
    文件压缩版本二
    文件压缩(2)
    d17包,logging模块,hashlib模块 openpyxl模块,深浅拷贝
    d16 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 subprocess模块
    d15 常用模块之正则模块
    14天 模块 , 导模块 , 循环导入, 相对,绝对导入, 项目目录规范,
    13t天 迭代器,生成器,内置函数
    55 jquery
  • 原文地址:https://www.cnblogs.com/blackay03/p/7838317.html
Copyright © 2011-2022 走看看