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
我们来回顾一下 上一部分我们都讲了什么?
随机推荐
- sass变量的详细使用
sass变量同javascript变量,可以用来存储一些信息,并且可以重复使用. 先来对比一下css中的变量 同css变量对比 CSS 变量是由 CSS 作者定义的,它包含的值可以在整个文档或指定的范 ...
- 使用docker 5分钟搭建一个博客(mysql+WordPress)
目录 一.系统环境 二.前言 三.搭建博客 3.1 创建wordpress和mysql容器 3.2 在wordpress界面设置个人博客信息 3.3 WordPress容器创建命令的简化版本 一.系统 ...
- MyBatis日志模块源码分析
MyBatis源码的logging包下是日志模块的相关实现,Mybatis日志模块通过适配器模式和代理模式优雅的实现了SQL日志的输出功能. 一. 适配器模式实现了MyBatis对第三方日志框架的适配 ...
- Android 12(S) MultiMedia(十一)从MPEG2TSExtractor到MPEG2-TS
本节主要学习内容是看看MPEG2TSExtractor是如何处理TS流的. 相关代码位置: frameworks/av/media/extractors/mpeg2/MPEG2TSExtractor. ...
- linux 环境下安装python3.7
虽然Linux系统默认自带python环境但是比较老了,今天有需要刚好重新配置一下,其他版本同理!不局限于python3.7.0 终端下到python官网找到下载路径, 用wget下载py3.7 wg ...
- redis 基础管理
配置文件 优化redis配置文件定制 cat /nosql/redis/6379/redis.conf daemonize yes port 6379 logfile /nosql/redis/637 ...
- 霍夫变换原理及实现(Opencv C++)
已知一幅图像中的n个点,假设我们希望找到这些点中位于直线上的子集.一种可能的解决方法是,首先找到由每对点确定的所有直线,然后寻找靠近特定直线的那些点的所有子集.这种方法涉及寻找n(n-1)/2~n2条 ...
- 【论文笔记】ResNet深度残差网络
[深度学习]总目录 深度残差网络(ResNet)由微软研究院的何恺明.张祥雨.任少卿.孙剑提出.研究动机是为了解决深度网络的退化问题,不同于过去的网络是通过学习去拟合一个分布,ResNet通过学习去拟 ...
- C++笔记(6) 指针
1.指针和数组 指针和数组基本等价的原因在于指针算数和C++内部处理数组的方式.在很多情况下,可以用相同的方式使用数组名和指针名. 在多数情况下,C++将数组名视为数组的第一个元素的地址.指针p的值为 ...
- Java中的包(Package)
# 包(Package) **为方便管理类(按照不同的功能管理类),解决同名问题的发生** - 使用`package关键字`修饰包 - **类名(全类名)=包名(地址)+类名简称** ```java ...