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功能的小程序)的输入。
  • 相关阅读:
    Android 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi
    Android Unresolved Dependencies
    Android studio 自定义打包apk名
    Android Fragment与Activity交互的几种方式
    魅族和三星Galaxy 5.0webView 问题Android Crash Report
    Android几种常见的多渠道(批量)打包方式介绍
    Android批量打包 如何一秒内打完几百个apk渠道包
    上周热点回顾(9.30-10.6)团队
    上周热点回顾(9.23-9.29)团队
    上周热点回顾(9.16-9.22)团队
  • 原文地址:https://www.cnblogs.com/blackay03/p/7838317.html
Copyright © 2011-2022 走看看