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
我们来回顾一下 上一部分我们都讲了什么?
随机推荐
- salesforce零基础学习(一百三十九)Admin篇之Begins/Contains/Starts With 是否区分大小写
本篇参考: https://help.salesforce.com/s/articleView?id=sf.customize_functions_begins.htm&type=5 http ...
- jsonp原理详解——终于弄明白了JSONP
什么是JSONP? 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助. 1.一个众所周知的问题, ...
- numpy基础--用于数组的文件输入输出
以下代码的前提:import numpy as np numpy能够读写磁盘上的文本数据或二进制数据. 1 将数组以二进制格式保存到磁盘 np.save和np.load是读写磁盘数组数据的两个主要函数 ...
- Java中类的构造 与 方法的重载
类的构造方法 定义:构造方法与类名相同,且没有返回值,且不需要void修饰 Car bmcar = new Car(); 特点:类中没有定义时,会默认有一个无参的构造方法,在无参的构造方法中为成员变量 ...
- vue3 elementui plus Select 选择器不选择下拉框里面的数据得到的value值
我们先来看 我点击弹框出现什么都不做 直接点击确定 看传参 tableId,timeColumnId,userColumnId直接是名称而没有获取value值 看下下拉框里面的数据 而我想直接点击获取 ...
- webpack js兼容处理
webpack在不需要引入任何loader可以对于js进行打包处理,但是它不会对于js兼容性进行任务的处理,而我们编写的项目是需要在不同的浏览器中运行的,此时就需要对于js的兼容性在打包过程中进行对应 ...
- vue组件间传值 父组件向子组件传值
² 父组件以属性的形式绑定值到子组件身上 ² 子组件通过使用属性props接收(props是单向绑定的(只读属性):当父组件的属性变化时,将传导给子组件,但是反过来不会) 第1步,父组件以动态属性的方 ...
- Node安装mongodb
Node操作mongodb Mongoose介绍 网址:http://www.mongoosejs.net/docs/index.html mongoose是Node环境下异步操作mongodb数据库 ...
- 简单的css3头像旋转与3D旋转效果
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 简单的css3头像旋转与3D旋转效果 日期:2017-7- ...
- 【长文】带你搞明白Redis
本文使用第一人称来介绍Redis 一.概述 Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化 ...