oeasy教您玩转 linux 010212 管道 pipe
上一部分我们都讲了什么?
- 牛说cowsay
- 牛可以有各种表情
- 可以自定义眼睛
- 可以变成各种别的小动物
- 可以说也可以想cowthink
- 我们也想让牛说出字符画的感觉
回顾字符画
下载figlet和toilett
sudo apt install figlet toilet
figlet oeasy
那我们怎么让牛说出字符画呢?
figlet "oeasy"
figlet "oeasy" | cowsay -f moose -n

pipe原理
- 中间的那条竖线 | (在键盘回车上面),就是pipe
- pipe,意思是管道
- 原来figlet "oeasy"命令执行之后进行输出
- 输出流,直接流到屏幕(stdout)上
- 现在给他加了一个管道|
- figlet不直接输出到屏幕了
- figlet把输出结果流到了cowsay指令中
- cowsay接收到了流过来的figlet的结果做为参数
- cowsay的输出结果最终流到了屏幕(stdout)上

牛说各种
我们尝试一下让牛说出彩色字
toilet --gay oeasy | cowthink -n
- toilet是彩色字
- --gay是toilet的选项开关
- oeasy是toilet的参数
- toilet的输出流到cowthink中
- -n是cowthink的参数,解决回车问题
# 牛说uname
uname | cowsay -f moose -n
# 牛说pwd,把pwd的结果给到cowsay
pwd | cowsay -f moose -n
# 牛说ls,把ls的结果给到cowsay
ls | cowsay -f moose -n
# 牛说ls /etc,把ls /etc的结果给到cowsay
ls etc | cowsay -f moose -n
# 把cowsay的内容输出到toilet染色
cowsay -f moose "oeasy" | toilet --gay -f term

boxes
- 可以下载一个boxes也是类似的字符画
- 也可以配置多种参数
- 也可以使用管道

figlet oeasy | boxes -d peek -pa2t0b0
watch -n1 "date '+%D%n%T'| figlet -k | boxes -a c -s 59 -d cat"
总结
- 管道的符号是|
- 管道的作用是连接
- 原来应该输出到屏幕内容
- 通过管道流到了另一个命令做为参数
- 是否可以让cow说出一些中文呢?
- 下次再说!
上一章010212pipe
参与制作 去做实验
下一章010214asciiview
oeasy教您玩转 linux 010212 管道 pipe的更多相关文章
- 教你玩转Linux系统目录结构
Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POS ...
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- linux中管道(pipe)一谈
/*********************************************** 管道(pipe)是Linux上进程间通信的一种方式,其是半双工(数据流只能在一个方向上流动(还需要经过 ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- 教你玩转Linux—用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加.修改和删除.添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1.添 ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
随机推荐
- Python:Python中的参数屏蔽
我们有时会不经意间写下如下代码: def update_indices(indices): indices = [] # 像在更新indices前先将其置空 for i in range(10): i ...
- video2blog 视频转图文AI小工具正式开源啦
前言 最近对一些小细节做了很多处理,但是其实还是有非常多的问题,没办法时间毕竟时间有限.为什么在这个时候开源,因为主要功能可以全部跑通了,分支暂时没开发的功能也可以通过其他的工具来替代. 这个工具开发 ...
- 从 p12 格式 SSL 证书解出 pem 格式公钥私钥给 Postman 使用
目的 Postman 的(非 Chrome 扩展版的)app 并不能读取系统中的客户端证书,这种调试要发送客户端证书的 https 请求的时候就得自己另外设置.系统直接导出证书有 cer 和 p12 ...
- ESP8266资源整理
概述 整理下学习ESP8266期间有价值的资料 乐鑫官网文档中心 主要参考资料来源,一手资料最有价值,另外官网还有选型工具.产品对比等实用工具 https://www.espressif.com.cn ...
- elementui table tree懒加载只能执行一次的解决办法
绑定 table的:key为随机值,在每次查询更新table时,更改key,就能刷新 table tree 懒加载只能第一次有效的问题, 本来那个懒加载只能执行一次,即使重新绑定了数据列表,再展开,也 ...
- Android 13 - Media框架(28)- MediaCodec(三)
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解到 ACodec 执行完 start 流程后,会把所有的 input buffer 都提交给 MediaCodec 层,MediaCo ...
- 【昇腾开发全流程】AscendCL开发板模型推理
前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2. 并打通一个Ascend910训练到Ascend310推理的全流程思路. 在本篇章,我们继续进入推理阶段! 推理 ...
- LeetCode 39. Combination Sum 组合总和 (C++/Java)
题目: Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), ...
- 使用 OpenTelemetry 构建可观测性 02 - 埋点
这是讲解 OpenTelemetry 系列博客的第二篇.在上一篇博客中,我们介绍了 OpenTelemetry 是什么以及由什么组成.现在我们将讨论如何使用 OTel 准确收集遥测数据和链路追踪数据. ...
- CM 停用 Parcel 异常
在将Doris集成到CM时,第一次打的包存在问题,想更新下,停用.删除Parcel时出现了问题卡住了,一直显示75%.无奈换了名称和版本,分配.激活,然后又卡在了75%,点开后,发现是同一台机器.其a ...