Linux之管道

news2024/12/27 13:16:06

目录

Linux之管道

操作符号

作用

用法

管道符使用场合

匿名管道与命名管道的区别

如何创建命名管道

案例举例

案例1 --- 将/etc/passwd中的用户按UID大小排序

 案例2 --- 统计出最占CPU的5个进程

 案例3 --- 统计当前/etc/passwd中用户使用的shell类型

 案例4 --- 统计网站的访问情况 top20

 案例5 --- 打印当前所有IP

案例6 --- 打印根分区已用空间的百分比(仅打印数字)


Linux之管道

操作符号

        “|” --- 管道是由符号 “|” 隔开的若干条命令组成的序列

作用

        将前一个命令的输出通过一个无形的“管道”作为下一个命令的输入,即实现将前一个命令输出的数据结果作为后一条命令所需要的数据源参数

用法

        command1 | command2 |command3 |.....

管道符使用场合

         当输出内容比较多时,为了方便浏览,竟可能输出内容,通过管道操作符,传递给more命令来分页查看,也可传递给grep命令实现对指定对象的查看

注意:

        管道命令只能处理签一个命令正确输出,不处理错误输出

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

        查看所有安装的软件包,过滤包含httpd的包

rpm -qa | grep 'httpd'

匿名管道与命名管道的区别

        匿名管道由pipe函数创建并打开

        命名管道由mkfifo函数创建,打开用open 

        FIFO(命名管道)与 pipe (匿名管道)之间唯一的区别在它们创建与打开的方式不同,一量这些工作完成之后,它们具有相同的语义。

如何创建命名管道

        在Linux系统下,命名管道可由两种方式创建(假设创建一个名为 “fifoexample” 的有名管道):
                mkdio("fifoexample","rw")
                mknod fifoexample p

案例举例

案例1 --- /etc/passwd中的用户按UID大小排序

[root@localhost ~]# sort -t":" -k3 -n /etc/passwd --- 以 : 分隔,将第三列按字数升序

[root@localhost ~]# sort -t":" -k3 -n /etc/passwd -r --- 降序

[root@localhost ~]# sort -t":" -k3 -n /etc/passwd | head --- 显示前十行

解析:

        按照以冒号分隔的第三列(即用户 ID)进行数字排序,并输出前十行 

 案例2 --- 统计出最占CPU5个进程

ps aux --sort=-%cpu |head -6

 案例3 --- 统计当前/etc/passwd中用户使用的shell类型

        思路 --- 取出第七列(shell| 排序(把相同归类)| 去重 

awk -F: '{print $7}' /etc/passwd

awk -F: '{print $7}' /etc/passwd | sort 

awk -F: '{print $7}' /etc/passwd | sort | uniq

awk -F: '{print $7}' /etc/passwd | sort | uniq -c

解析:

        从/etc/passwd文件中获取第7个字段(即用户的shell类型),然后使用sort命令排序,最后使用uniq命令统计每种shell类型出现的次数。其中,-F选项指定了字段分隔符为“:”,|符号表示将前面命令的输出作为后面命令的输入。 

 案例4 --- 统计网站的访问情况 top20

ss -an |grep :80|awk -F":" '{print $8}' |sort |uniq -c

解析:

        打印所有访问的连接 | 过滤访问网站的连接 | 打印用户的IP | 排序 | 去重

 案例5 --- 打印当前所有IP

ip addr |grep 'inet' |awk '{print $2}' |awk -F"/" '{print $1}'

解析:

  • ip addr:查看网络接口的配置信息。
  • grep 'inet':筛选出包含 "inet" 的行,即 IPv4 或 IPv6 地址行。
  • awk '{print $2}':提取第二列,即 IP 地址部分。
  • awk -F"/" '{print $1}':以 "/" 为分隔符,提取分割后的第一部分,即 IP 地址。

案例6 --- 打印根分区已用空间的百分比(仅打印数字)

df -P |grep '/$' |awk '{print $5}' |awk -F"%" '{print $1}'

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/583146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java大数据文件处理方法

前言 Java大数据文件处理是一种使用Java编写的大型数据处理技术,特别适用于处理大型数据文件。在这篇文章中,我们将了解什么是Java大数据文件处理,为什么它很重要以及Java大数据文件处理的方法和技术。 一、什么是Java大数据文件处理&#…

交易信号有效性测算1——N日涨跌幅

在交易信号发出后,我们需要一些程序化的流程,来验证信号的有效性,其中信号发出后N日的涨跌幅就是一个比较常见的任务 布林带交易策略 我们以布林带(BOLL)交易策略为示例: 中轨线 N日移动平均线上轨线 …

Linux 上的 .NET 崩溃了怎么抓 Dump

一:背景 1. 讲故事 训练营中有朋友问在 Linux 上如何抓 crash dump,在我的系列文章中演示的大多是在 Windows 平台上,这也没办法要跟着市场走,谁让 .NET 的主战场在工控 和 医疗 呢,上一张在 合肥 分享时的一个统计图…

Unity3D:项目 ID 不匹配的情况下如何应对

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 如果在 Services 窗口的 Settings 中找不到项目 ID,或者如果发现项目 ID 不匹配,这可能是因为使用了较早版本的 Unity 来升级项目,或在脱机时创建…

Win10电脑应用程序并行配置不正确怎么办?

Win10电脑应用程序并行配置不正确怎么办?有用户在运行某些软件时,突然提示出错信息“应用程序无法启动,因为应用程序的并行配置不正确,出现这一问题可能是禁用本地相关服务,或者新安装的系统缺少必要的VC 运行。那么具…

PTQ-PDPMV1 PROSOFT DP主网络接口模块

Quantum的PROFIBUS DP主网络接口模块 PTQ-PDPMV1 PROFIBUS DP主网络接口允许Quantum处理器与支持PROFIBUS DP V0或V1的从设备轻松连接。该模块作为PROFIBUS网络和处理器之间的输入/输出模块。PROFIBUS是工业自动化中最常用的协议之一。应用领域包括电力和配电、石化、水和天然…

基于stm32mp157 linux开发板ARM裸机开发教程7:Cortex-A7 GPIO 实验(连载中)

前言: 目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板) 针对对FS-MP1A开发板&…

如何在命令行编译运行java程序?

2023年5月29日,周一下午: 好久没写java程序了,今天居然忘了怎么用命令行编译运行java程序了,还好后来想起来了,为了避免忘记,写篇博客记录一下 1、先用记事本等编辑器写一个java程序,文件名要和…

网络货运系统源码 网络货运平台源码,货运APP源码 货物运输管理源码

网络货运系统源码 网络货运平台源码,货运APP源码 货物运输管理源码 网络货运为无车承运人更名而来,网络货运平台的好处可以节省找车找货的时间与成本。根据国家对智慧物流行业的发展规划,及《网络平台道路货物运输经营管理办法》等相关法律法…

github创建仓库和拉取代码

目录 一、git创建仓库 第一步:首先登录github 第二步:进入建立的仓库(或者新建仓库) 第三步:创建成功 第四步:在本地新建一个文件夹,然后在文件夹下打开git bash 第五步:在git bash命令框执行git init…

Linux:centos:修改临时ip永久ip

使用 ifconfig 查看网卡信息以及ip 临时配置ip 找到要修改ip的网卡的名称(我这里使用名称为:ens33网卡) # ifconfig 网卡名 ip /子网掩码 ifconfig ens33 192.168.1.2/24 配置永久ip 去配置网卡文件 vi /vim 或 nano vim /etc/s…

腾讯云轻量服务器和云服务器区别(超详细全解析)

腾讯云轻量服务器和云服务器有什么区别?为什么轻量应用服务器成本低?是因为轻量服务器CPU内存性能比云服务器CVM性能差吗?轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境,云服务器CVM适…

10 个对于Android开发者有用的Kotlin扩展函数#1

10 个对于Android开发者有用的Kotlin扩展函数 使用扩展函数来提高安卓开发体验 什么是扩展功能? Kotlin 中的扩展函数允许您向现有类添加新功能,而无需继承它或修改类本身。这是从类定义外部扩展类功能的便捷方式。 Log 您可以any object使用此扩展…

【ABAQUS】什么是剪切闭锁?剪切闭锁会导致什么?

“完全积分”是指当单元具有规则形状时,对单元刚度矩阵中的多项式项进行精确积分所需的高斯点数。对于六面体和四边形元素,“规则形状”意味着边缘是直的,并以直角相交,任何边缘节点都位于边缘的中点。 完全积分的线性元素在每个…

6种常见电流检测电路设计方案

电流检测电路设计方案(一) 低端检流电路的检流电阻串联到地(图1),而高端检流电路的检流电阻是串联到高电压端(图2)。两种方法各有特点:低端检流方式在地线回路中增加了额外的线绕电…

正则表达式快速上手

一、推荐个正则表达式练习网站:regex101: build, test, and debug regexhttps://regex101.com/ 二、正则表达式常用的几个符号 (一)限定符 1. ?: 表示匹配的字符串中,?前面的字符可有可无&a…

VUE3.0 路由跳转之后页面停留在上一个浏览页面位置不会回到顶部问题

方式一:普通用法,vue2.0也可用 // 一般方式路由拦截 export default {// 组件守护器beforeRouteEnter(to, from, next) {// A跳转到B,B页面停留在A页面的滚动位置;解决方法:将scrollTop设置为0window.scroll(0, 0);ne…

使用docker部署mysql的主从复制

前言: 客户需要数据库做一个备份,所以这次部署mysql的主从复制,由于测试原因两个mysql服务都安装在一台服务器上,实际部署中一般分开部署。 介绍: 用途: 实时灾备,用于故障切换读写分离&…

excel常用操作

1 基础操作 1.1 冻结首行 选中需要冻结的行,视图--冻结窗格,从而使其固定显示。

提权神器:WindowsVulnScan

简介 这是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免database is locked的错误,采用md5哈希算法确保数据不重复插入。 它可以实现自动化对目标主机操作系统信息收集&…