『学了就忘』Linux基础命令 — 33、管道符
1、管道符介绍
管道符|,也是Shell命令。
管道符的作用是链接多个命令,把命令1的结果作为命令2的操作对象。
命令格式:命令1 | 命令2
命令1的正确输出作为命令2的操作对象
提示:
管道符的基本作用和之前说过的-exec选项的基本作用是一样的。命令1的结果作为命令2的操作对象的这种操作称为文本流操作(就相当于流水线,第一个人操作完流水线转给第二个人操作)。但是find命令不支持文本流操作,在find命令中加入管道符,输出的结果是不正确的,所以在find命令中添加了-exec \;模拟管道符的作用。
2、管道符应用
(1)例子1:
举个例子,我们经常需要使用ll命令查看文件的长格式,不过在有些目录中文件众多,比如/etc/目录,使用ll命令显示的内容就会非常多,只能看到最后的内容,而不能看到前面输出的内容。
这时我们马上想到more命令可以分屏显示文件内容,可是怎么让more命令分屏显示命令的输出呢?
注意:
more命令是分屏显示文件中的数据,是显示字符串。而ll命令是输出的是命令的结果(也就是输出的是文件名)。
我想到了一种笨办法:
#用输出重定向,把ll命令的输出保存到/root/testfile文件中
[root@localhost ~]# ll -a /etc/ >> /root/testfile
#既然testfile是文件,当然可以用more命合分屏显示了
[root@localhost ~]# more /root/testfile
总用量1784
drwxr-xr-x.105 root root 12288 10月 21 12:49.
dr-xr-xr-x.26 root root 4096 6月 5 19:06..
.…首路部分输出…
-rwxr-xr-x.1 root root 687 6月22 2012 auto.smb
--More--(7%)
可是这样操作实在不方便,这时就可以利用管道符了。
命令如下:
[root@localhost ~]# ll -a /etc/ | more
因为管道符是文本流操作,管道符把前边 ll命令的结果转换成文本,然后供more命令分屏显示。
(2)例子2:
通过ll命令,在显示/etc/文件夹里文件的结果中,搜索yum的文件名,应该使用find命令还是grep命令?
通过上边的提示,find命令是搜索文件名,grep命令是搜索文本内容的,管道符是文本流操作,之后都是文本结果(也就是字符串),所以需要用grep命令。还有就是find命令也不支持管道符操作。
[root@localhost ~ ] #ll -a /etc/ | grep yum
(3)例子3:
netstat命令(CentOS 7中,需要安装net-snmp.x86_64,net-tools.x86_64两个包才有此命令。7.5系统中已经自动安装)格式如下:
netstat命令是一个非常重要和常见的查询网络状态的网络命令。
netstat命令格式:
[root@localhost ~]# netstat [选项]
选项:
-a:列出所有网络状态,包括 Socket程序
-c秒数:指定每隔几秒刷新一次网络状态
-n:使用Ip地址和端口号显示,不使用域名与服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的连接状况-u:显示使用UDP协议端口的连接状况
-1:仅显示监听状态的连接
-r:显示路由表
示例:
# 需求:查看当前远程登陆有多少人
[root@localhost ~]# netstat -an | grep "ESTABLISHED" | wc -l
# 网络中为ESTABLISHED状态的,表示是远程链接。
# wc -l :统计有多少行。
# 查询系统中所有开启的端口。
[root@DevOps ~]# netstat -tuln
『学了就忘』Linux基础命令 — 33、管道符的更多相关文章
- 『学了就忘』Linux基础命令 — 26、帮助命令
目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...
- 『学了就忘』Linux基础命令 — 25、文件基本权限的管理
目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...
- 『学了就忘』Linux基础命令 — 18、Linux命令的基本格式
目录 1.命令提示符说明 2.命令的基本格式 (1)举例ls命令 (2)说明ls -l命令的 输出内容 1.命令提示符说明 [root@localhost ~] # []:这是提示符的分隔符号,没有特 ...
- 『学了就忘』Linux基础命令 — 20、文件操作的相关命令
目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...
- 『学了就忘』Linux基础命令 — 22、Linux中的硬链接和软链接
目录 1.文件和目录的基本存储 2.In命令介绍 (1)我们来看看ln命令的基本信息 (2)ln命令的基本格式 3.创建硬链接 (1)如何创建硬链接 (2)硬链接特征 (3)硬连接原理 4.创建软链接 ...
- 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用
目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...
- 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令
目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...
- 『学了就忘』Linux基础命令 — 27、搜索操作相关命令
目录 1.whereis命令 2.which命令 3.locate命令 1.whereis命令 whereis是搜索系统命令的命令,也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令. ...
- 『学了就忘』Linux基础命令 — 28、别名和常用快捷键
目录 1.别名 2.常用快捷键 1.别名 别名也是Shell中的命令. 命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的. 命令格式: # 查询系统中命令别名 [root@localhost ...
随机推荐
- SonarScanner扫描Maven项目使用说明
最近在学习使用sonar扫描代码,已经成功扫描python项目,而扫描java代码不成功. 在网上找到的扫描java项目文章,经过尝试之后也没有成功. 本人自己研究了sonar官方的使用说明文章,将其 ...
- struts2 使用ajax进行图片上传
第一步:引入一个插件 jquery.form.js /*! * jQuery Form Plugin * version: 3.36.0-2013.06.16 * @requires jQuer ...
- Windows与MAC使用差异有感(还会不断更新体验)
Windows与MAC使用差异有感(还会不断更新体验) 关于键盘 这上是MAC与Windows的⌨️按键区别 我们现在都是USB键盘,而PS/2键盘是已经淘汰掉的(插头是圆孔的),看上图会发现Comm ...
- english note(6.17to6.23)
6.17 http://www.51voa.com/VOA_Special_English/are-these-us-treasures-about-to-be-destroyed-82260_1.h ...
- Hive On Spark保姆级攻略
声明: 此博客参考了官网的配置方式,并结合笔者在实践网上部分帖子时的踩坑经历整理而成 这里贴上官方配置说明: [官方]: https://cwiki.apache.org//confluence/di ...
- k8s负载资源StatefulSet工作解析
在k8s中工作负载资源StatefulSet用于管理有状态应用. 什么是无状态? 组成一个应用的pod是对等的,它们之前没有关联和依赖关系,不依赖外部存储. 即我们上篇小作文中deployment创建 ...
- Docker小白到实战之Docker网络简单了解一下
前言 现在对于Docker容器的隔离性都有所了解了,但对容器IP地址的分配.容器间的访问等还是有点小疑问,如果容器的IP由于新启动导致变动,那又怎么才能保证原有业务不会被影响,这就和网络有挂钩了,接下 ...
- Python日常Bug集
1.TypeError: 'int' object is not iterable: 场景示例: data = 7 for i in data: print(i) # 原因:直接对int数据进行迭代造 ...
- Java-对象克隆
1. 为什么要克隆 在java中,我们通过直接=等号赋值的方法来拷贝,如果是基本数据类型是没有问题的,例如 int i = 1; int j = 0; j = i; // 直接=等号赋值,这样是没有问 ...
- Vite插件开发纪实:vite-plugin-monitor(下)
前言 上一篇介绍了Vite启动,HMR等时间的获取. 但各阶段详细的耗时信息,只能通过debug的日志获取 本文就实现一下debug日志的拦截 插件效果预览 --debug做了什么 项目启动指令 vi ...