linux命令管道工作原理与使用方法

一、管道定义

管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。管道的这一特点决定了器使用的局限性。管道是Linux支持的最初Unix IPC形式之一,具有以下特点:

*** 数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,需要建 立两个管道。

*** 管道只能用于父子进程或者兄弟进程间通信。,也就是说管道只能用于具有亲缘关系的进程间通信。

注意:从管道读数据是一次性操作,数据一旦被读,它就从管道中被抛弃,释放空间以便写更多的数据。

二、管道命令

command1 | command2 | command3

操作符是:”|”,它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入.

管理命令的输出说明:

【指令1】正确输出,作为【指令2】的输入 然后【指令2】的输出作为【指令3】的输入 ,【指令3】输出就会直接显示在屏幕上面了。

通过管道之后【指令1】和【指令2】的正确输出不显示在屏幕上面

【提醒注意】:

1. 管道命令只处理前一个命令正确输出,不处理错误输出;

2. 管道命令右边命令,必须能够接收标准输入流命令才行;

三、管道应用

1.读出logcat.log文件的内容,通过管道转发给grep作为输入内容

cat logcat.log | grep –n ‘ActivitManager’

#2.读出logcat.log文件的内容,通过管道转发给grep作为输入内容,过滤包含‘Displayed’的行,将输出内容再作为输入能过管道转发给下一个grep

cat logcat.log | grep –n ‘Displayed’| grep ??

#3.读出logcat.log和wirelessqa.log文件的内容,出错的内容会打印在屏幕上,正确的会通过管道传给grep

#4.读出logcat.log和wirelessqa.log文件的内容,出错的内容会重定向到/dev/null,正确的会通过管道传给grep

#5.读出logcat.log通过管道传给ls,由于ls不支持标准输入,因此之前读入的数据丢失。

时间: 02-10

linux命令管道工作原理与使用方法的相关文章

汽车防雨剂的工作原理和使用方法

身为一名老司机,肯定都有开车遇到雨雾天气的经历,雨水覆盖在后视镜和车窗玻璃上,影响开车视线,安全隐患很大.其实这个问题是可以轻松化解的,只要给汽车玻璃喷上防雨剂,雨天后视镜就不会再沾水了. 一.汽车防雨剂工作原理 玻璃车窗容易残余雨水是因为玻璃具有亲水性,加上行驶途中沾上灰尘,雨滴聚集不容易滑落.汽车防雨剂借鉴荷叶仿生学原理,将氟素纳米分子喷涂在玻璃表面,形成一层光滑防水膜,能快速疏导雨水,避免镜面模糊不清,驾驶更安全. 二.汽车防雨剂使用方法 防雨剂使用方法很简单,注意细节即可. 1.首先将后

IGBTMOS管的工作原理及检测方法

IGBT又称MOS管,是由双极型三极管(BJT)和绝缘栅型场效应管(MOS)组成的复合全控型电压驱动式功率半导体器件.其输入极为MOS管输出极为PNP晶体管.因此,可以把其看作是MOS管输入的达林顿管. 它融合了MOS管的高输入阻抗和GTR的低导通压降两方面的优点,具备易于驱动.峰值电流容量大.自关断.开关频率高(10-40kHz)等特点,已逐步取代晶闸管和门极可关断晶闸管(GTO),是目前发展最为迅速的新一代电力电子器件.广泛应用于小体积.高效率的变频电源.电机调速.UPS及逆变焊机当中. 一

Docker镜像提交命令commit的工作原理和使用方法

在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用. 下面我们来动手实践. docker pull nginx:1.15.3 用命令行启动一个容器: docker run -d -p 1080:80 --name jerry-nginx nginx:1.15.3 localhost:1080 进入容器的shell: docker exec -it jerry-nginx /bin/bash 查看这个nginx镜像默认的首页: 我想

Linux 命令行生成随机密码的十种方法

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法.这些方法均收集于Command-Line Fu,并且在我们自己的Linux PC机上测试过.这十种方法的一些在安装了Cygwin的Windows下也是可以运行的,特别是最后一种方法. 生成一个随机密码 对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位.希望你正在使用一些类似于LastPass的密

纯干货详解iptables工作原理以及使用方法

简介 网络中的防火墙,是一种将内部和外部网络分开的方法,是一种隔离技术.防火墙在内网与外网通信时进行访问控制,依据所设置的规则对数据包作出判断,最大限度地阻止网络中不法分子破坏企业网络,从而加强了企业网络安全. 防火墙的分类 硬件防火墙,如思科的ASA防火墙,H3C的Secpath防火墙等软件防火墙,如iptables.firewalld等 Linux包过滤防火墙简介 1.Linux操作系统中默认内置一个软件防火墙,即iptables防火墙2.netfilter位于Linux内核中的包过滤功能体

【翻译】TCP backlog在Linux中的工作原理

原文How TCP backlog works in Linux水平有限,难免有错,欢迎指出!以下为翻译: 当应用程序通过系统调用listen将一个套接字(socket)置为LISTEN状态时,需要为该套接字指定一个backlog参数,该参数通常被描述为用来限制进来的连接队列长度(queue of incoming connections). 由于TCP协议的三次握手机制,一个进来的套接字连接在进入ESTABLISHED状态并且可以被accept调用返回给应用程序之前,会经历中间状态SYN RE

sed工作原理和使用方法

1.Sed简介 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出. sed工作原理图 2.命令说明 sed [options] 'AddressCommand'  file ...        -n:         静默模式,不再默认显示模

Linux命令行与图形界面切换方法

1.实时切换 1.1 命令行->图形 startx 1.2 图形->命令行 Ctrl+Alt+F1--F6 2.启动默认 2.1 启动进入命令行 修改/etc/inittab文件 " id:3:initdefault" 2.2 启动进入图形界面 修改/etc/inittab文件 "id:5:initdefault" 来自为知笔记(Wiz)

ACL常用命令及工作原理

What ACL 是一系列 IOS 命令,根据数据包报头中找到的信息来控制路由器应该转发还是应该丢弃数据包.ACL 是思科 IOS 软件中最常用的功能之一. 在配置后,ACL 将执行以下任务: 限制网络流量以提高网络性能.例如,如果公司政策不允许在网络中传输视频流量,那么就应该配置和应用 ACL 以阻止视频流量.这可以显著降低网络负载并提高网络性能. 提供流量控制.ACL 可以限制路由更新的传输,从而确保更新都来自一个已知的来源. 提供基本的网络访问安全性.ACL 可以允许一台主机访问部分网络,