20181206进程管道 Piping

进程管道 Piping

? Use redirection characters to control output to files. 使用重定向字符控制输出到文件。
? Use piping to control output to other programs.使用管道控制输出到其他程序

进程管道
用法:command1 | command2 |command3 |...
[[email protected] ~]# ll /dev/ |less
[[email protected] ~]# ps aux |grep ‘sshd‘
[[email protected] ~]# rpm -qa |grep ‘httpd‘ //查询所有安装的软件包,过滤包含 httpd 的包
[[email protected] ~]# yum list |grep ‘httpd‘ //
案例 1:将/etc/passwd 中的用户按 UID 大小排序
[[email protected] ~]# sort -t":" -k3 -n /etc/passwd //以: 分隔,将第三列按字数升序
[[email protected] ~]# sort -t":" -k3 -n /etc/passwd -r //逆序
[[email protected] ~]# sort -t":" -k3 -n /etc/passwd |head 显示前10个
-t 指定字段分隔符--field-separator
-k 指定列
-n 按数值
案例 2:统计出最占 CPU 的 5 个进程
[[email protected] ~]# ps aux --sort=-%cpu |head -6
案例 3:统计当前/etc/passwd 中用户使用的 shell 类型
思路:取出第七列(shell) | 排序(把相同归类)| 去重
[[email protected] ~]# awk -F: ‘{print $7}‘ /etc/passwd
[[email protected] ~]# awk -F: ‘{print $7}‘ /etc/passwd |sort
[[email protected] ~]# awk -F: ‘{print $7}‘ /etc/passwd |sort |uniq
[[email protected] ~]# awk -F: ‘{print $7}‘ /etc/passwd |sort |uniq -c
131 /bin/bash
1 /bin/sync
1 /sbin/halt
63 /sbin/nologin
1 /sbin/shutdown
-F: 指定字段分隔符
$7 第七个字段
案例 4: 打印当前所有 IP
[[email protected] ~]# ip a |grep ‘inet ‘ 只显示IPV4地址
inet 127.0.0.1/8 scope host lo
inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
[[email protected] ~]# ip addr |grep ‘inet ‘ |awk ‘{print $2}‘ |awk -F"/" ‘{print $1}‘
127.0.0.1
192.168.2.115
案例 5:打印根分区已用空间的百分比(仅打印数字)
[[email protected] ~]# df -P |grep ‘/$‘ |awk ‘{print $5}‘ |awk -F"%" ‘{print $1}‘

原文地址:http://blog.51cto.com/8450442/2327313

时间: 12-06

20181206进程管道 Piping的相关文章

进程间的通信:管道

进程间的通信:管道 Linux中将命令联系到一起使用实际上就是把一个进程的输出通过管道传递给另一个进程的输入,这些都是shell封装好的,对标准输入和输出流进行了重新连接,使数据流从键盘输入经过两个程序最终输出到屏幕上.如下: cmd1|cmd2 进程管道 在两个程序之间传递数据最简单的方法就是使用popen()和pclose()了.原型如下: #include <stdio.h> FILE *popen(const char *command, const char *open_mode);

Linux程序设计学习笔记----进程间通信——管道

转载请注明出处: http://blog.csdn.net/suool/article/details/38444149, 谢谢! 进程通信概述 在Linux系统中,进程是一个独立的资源管理单元,但是独立而不孤立,他们需要之间的通信,因此便需要一个进程间数据传递.异步.同步的机制,这个机制显然需要由OS来完成管理和维护.如下: 1.同一主机进程间数据交互机制:无名管道(PIPE),有名管道(FIFO),消息队列(Message Queue)和共享内存(Share Memory).无名管道多用于亲

Linux内核解析:进程间通信:管道

管道的定义管道的用途管道的操作管道非法read与write内核实现解析管道通信原理及其亲戚通信解析父子进程通信解析亲缘关系的进程管道通信解析管道的注意事项及其性质管道有以下三条性质shell管道的实现与shell命令进行通信system函数与popen函数区别 管道的定义 管道是第一个广泛应用的进程间通信手段.日常在终端执行shell命令时,会大量用到管道.但管道的缺陷在于只能在有亲缘关系(有共同的祖先)的进程之间使用.为了突破这个限制,后来引入了命名管道. 管道的用途 管道是最早出现的进程间通

第11课-无名管道通讯

1.进程间通讯的目的(1)数据传输(2)资源共享(3)通知事件(4)进程控制2.通讯发展(1)UNIX进程间通讯(2)基于System V进程间通讯(3)POSIX进程间通讯3.POSIX标准4.进程间通讯的主要方式(1)无名管道(2)有名管道(3)信号(4)消息队列(5)共享内存(6)信号量(7)套接字5.管道通信(1)一个进程在管道尾部写入数据,另一个进程管道头部读取数据(2)无名管道:只能用于父进程子进程之间的通讯(3)有名管道:可以用于任意两个进程间的通讯6.管道特点:(1)管道通讯是单

Unix传奇

转自 http://coolshell.cn/articles/2322.html 了解过去,我们才能知其然,更知所以然.总结过去,我们才会知道我们明天该如何去规划,该如何去走.在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今.要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史. Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看<Unix

Linux:信号(上)

从我的博客之前的文章中,一直都在强调操作系统是由多进程协同工作而实现整个操作系统的逻辑目的,达到一个人为操纵的系统: 之前的博文一直都在描述进程控制,进程之间的通信,还有线程控制与操作,但是却一直没有描述多个进程之间的相互是怎么通知整个系统的.对于多个不同进程之间,出现了异常或者进程间非数据传输的通信怎么实现,所以Linux系统就实现了一个概念叫做信号: 信号就相当于我们现实生活之中的通知信息,去告知自己或者别人处于某种状态,是不是很人性化,信号的概念出现,解决了进程与进程通知: 那么关于信号,

php在linux中执行外部命令

目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数.2>反引号.3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个):PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()1)exec()原型: string exec ( string $co

PHP在linux上执行外部命令

PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数.2>反引号.3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个):PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()1)exec()原型: string exe

【转】PHP 执行系统外部命令 system() exec() passthru()

PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任.但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍. 区别: system() 输出并返回最后一行shell结果. exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面. passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上. 相同点:都可以获得命令执行的状态码 demo: //s

PHP 执行系统外部命令 system() exec() passthru()

PHP中调用外部命令,可以用如下三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec() 1)exec() 原型: string exec ( string $command [, array &$output [, int &$return_var ]] ) 说明: exec执行系统外部命令时不会输出结果,而是返回结果的最后一行.如果想得到结果,可以使用第二个参