Bash - 趣味Shell
好消息:本人博客已开通。很多其它博客请进 http://swplzj.github.io
今天抽闲玩了一下Shell。发现几个比較有意思的。记录一下。
- 终端彩虹字:
lolcat - 图形化文字:
figlet - 幸运人生格言:
fortune ASCII牛说:Cowsay- 黑客帝国中瀑布流文字:
cmatrix - 写在最后
非常有趣的 Shell, 值得一试;
lolcat
安装
因为 Lolcat 是一个 ruby gem 程序,所以在你的系统中必须安装有最新版本号的 ruby。
安装ruby过程不再详述;
使用以下命令进行安装lolcat
gem install lolcat

使用
lolcat作用是在终端中为文本加入彩虹般的色彩。安装完毕之后就能够使用了。
首先看一下lolcat的帮助文档
lolcat --help

接着查看日历
cal | lolcat

高级技巧
我们还能够给文本赋予彩虹颜色的动画:
echo Hello World | lolcat -a -d 500

别名技巧:alias
我们发现,假如一个常常使用的打印命令,比方ls,想打印彩虹色彩,我们每次都须要在敲完ls之后再加上lolcat。也就是ls | lolcat,这样非常不方便。这时我们就能够想到别名,alias。我们能够设定一些别名:
alias ls="ls | lolcat"
可是。有一个问题来了。仅仅要把终端这个标签关闭掉或者重新启动终端。我们设置的别名就失效了,也就是说别名仅仅针对当前标签页有效。
所以,接下来我们要设置alias永久有效。我们输入命令cd ~到用户主文件夹,找到.bash_profile文件。假设没有。我们创建一个
touch .bash_profile
然后在.bash_profile中加入我们的别名
alias ls="ls | lolcat"
保存,关闭,重新启动Terminal,看一下效果:

BTW
假如你的终端没有设置配色方案,能够选择自带的主题:Silver Aerogel,设置方法:找到.bash_profile文件,加入例如以下代码:
# for color
export CLICOLOR=1
# \h:\W \u\$
export PS1='\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\] '
保存,重新启动终端,就能够看到美丽的配色方案了。
figlet
安装
我们使用 Homebrew来安装此插件,
brew install figlet

使用
- figlet
lizhenjie@localhost ~$ figlet Leo Lee
_ _
| | ___ ___ | | ___ ___
| | / _ \/ _ \ | | / _ \/ _ \
| |__| __/ (_) | | |__| __/ __/
|_____\___|\___/ |_____\___|\___|
- figlist:列出全部字体名称
lizhenjie@localhost ~$ figlist
Default font: standard
Font directory: /usr/local/Cellar/figlet/2.2.5/share/figlet/fonts
Figlet fonts in this directory:
3-d
3x5
5lineoblique
acrobatic
alligator
alligator2
alphabet
...
- showfigfonts:展示每一个字体效果。
lizhenjie@localhost ~$ showfigfonts
3-d :
**** **
*/// * /**
/ /* /**
*** ***** ******
/// *///// **///**
* /* /** /**
/ **** //******
//// //////
3x5 :
### ###
# # # #
## # ###
# # # #
### ###
...
仅仅能列两种字体了。太多了。
当然,能够结合上面的 lolcat使用更炫哦。

Dashboard Figlet
安装过程中,意外发现Figlet也有Dashboard中的插件。能够到苹果官网下载。使用起来也是非常方便的。

fortune
安装
brew install fortune
使用方法
lizhenjie@localhost ~$ fortune
"To take a significant step forward, you must make a series of finite
improvements."
-- Donald J. Atwood, General Motors
结合lolcat使用:
lizhenjie@localhost ~$ fortune | lolcat

Cowsay
安装
brew install cowsay
使用方法
cowsay能够输出一个在终端用ASCII码组成的小牛,这个小牛会说出你想要它说的话。
lizhenjie@localhost ~$ cowsay God help them who help themselves!
____________________________________
< God help them who help themselves! >
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
lizhenjie@localhost ~$
- 罗列出全部能够画出的动物形状
lizhenjie@localhost ~$ cowsay -l
Cow files in /usr/local/Cellar/cowsay/3.03/share/cows:
beavis.zen bong bud-frogs bunny cheese cower daemon default dragon
dragon-and-cow elephant elephant-in-snake eyes flaming-sheep ghostbusters
head-in hellokitty kiss kitty koala kosh luke-koala meow milk moofasa moose
mutilated ren satanic sheep skeleton small sodomized stegosaurus stimpy
supermilker surgery telebears three-eyes turkey turtle tux udder vader
vader-koala www
- 使用其它动物形状
lizhenjie@localhost ~$ cowsay -f dragon LEO
_____
< LEO >
-----
\ / \ //\
\ |\___/| / \// \\
/0 0 \__ / // | \ \
/ / \/_/ // | \ \
@_^_@'/ \/_ // | \ \
//_^_/ \/_ // | \ \
( //) | \/// | \ \
( / /) _|_ / ) // | \ _\
( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-.
(( / / )) ,-{ _ `-.|.-~-. .~ `.
(( // / )) '/\ / ~-. _ .-~ .-~^-. \
(( /// )) `. { } / \ \
(( / )) .----~-.\ \-' .~ \ `. \^-.
///.----..> \ _ -~ `. ^-` ^-_
///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~
/.-~
- 结合
fortune使用
lizhenjie@localhost ~$ fortune | cowsay
_________________________________________
/ We are all worms. But I do believe I am \
| a glowworm. |
| |
\ -- Winston Churchill /
-----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
- 结合
lolcat使用:

- 结合
lolcat + fortune + cowsay

是不是非常奇妙!!。
cmatrix
安装
黑客帝国‘Hacker’风格的桌面的生动画面
brew install cmatrix
使用方法
cmatrix

其它使用方法能够使用 man查看。
写在最后
上面的命令可能在实际中对自己没有多大用途,可是。在配置的过程中,学到了不少东西,还添加了对 Shell的了解和兴趣,我们对自己的定位不能仅仅局限与写代码,而是让自己多去了解自己不了解的。时常去走出自己的舒适区,找一些有趣有挑战性的东西去做,总之,保证自己一直在进步。加油!
好消息:本人博客已开通。很多其它博客请进 http://swplzj.github.io
Bash - 趣味Shell的更多相关文章
- 单行bash、shell、perl命令
主题:单行经典bash.shell.perl命令 作者:luomg 摘要: 会陆陆续的写自己工作中的常用有意思的命令,争取你能看完后就能搞定常见操作, 且尽量自少提供基本shell.perl的实现方式 ...
- 什么是shell? bash和shell有什么关系?
什么是shell? bash和shell有什么关系? 博客分类: Linux 什么是Shell? shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序 ...
- bash和shell的关系
bash是borne again shell的缩写,它是shell的一种,Linux上默认采用的是bash. shell脚本中的方法带不带function的区别,例如: function foo () ...
- bash反弹shell检测
1.进程 file descriptor 异常检测 检测 file descriptor 是否指向一个socket 以重定向+/dev/tcp Bash反弹Shell攻击方式为例,这类反弹shell的 ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- 用bash反弹shell
用bash反弹shell 受害主机:linux系统 攻击机:需要安装netcat(nc) 受害主机执行:ifconfig ## 查看受害主机ip 攻击机执行:nc -lvp 19999 ## 在攻击 ...
- 修改shell 将当前shell(默认是bash B SHELL )改为csh C SHELL
在修改当前shell时,用命令: usermod -s /bin/csh home home 为 你所想要改变的用户地址 此处home 为家目录,一般自己创建的用户都会在家目录 ...
- 认识bash这个shell
我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作bash是我们Linux默认的shell 用户界面(Shell,application)--------核心(Kern ...
- Linux 学习记录 四(Bash 和 Shell scirpt)
一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...
随机推荐
- 使用 loop device 制作安装镜像
看了下,手上的镜像中,文件系统才 100 多兆,但是整个镜像居然要 4G, 这意味着,我每次安装这个镜像到 SD 卡都要花很多没必要的时间. 所以,我提取了一些关键内容,然后,准备重新打包镜像. 1. ...
- C++11中的mutex, lock,condition variable实现分析
本文分析的是llvm libc++的实现:http://libcxx.llvm.org/ C++11中的各种mutex, lock对象,实际上都是对posix的mutex,condition的封装.不 ...
- Excel之定位和查找
在数据量比较少的情况下,我们要到达Excel中某一位置时,通常会用鼠标拖动滚动条到达需要的位置,查找某已知固定的值,用Ctr+F,在查找内容中输入对应的值即可一个个的查找到其对应的位置.但当数据量较多 ...
- CentOS7 修改主机名
命令: hostnamectl set-hostname [yourhostname] 不过这种方法,大写会自动变成小写. 还有一种方法,直接修改 /etc/hostname文件,这个可以保证大写不变 ...
- navicat-mysql-linux工具
navicat强大的数据库图形化家族,基本都是支持跨平台的!navicat-mysql-linux在Linux是通过Wine工具执行exe文件,默认15天的免费试用时间! 1. 下载 云上下载:htt ...
- navigationItem.rightBarButtonItem 设置背景图片,颜色更改解决的方法
self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@& ...
- hibernate 双向 1-n(具体分析)
双向 1-n 与 双向 n-1 是全然同样的两种情形 双向 1-n 须要在 1 的一端能够訪问 n 的一端, 反之依旧. 域模型:从 Order 到 Customer 的多对一双向关联须要在Order ...
- PendingIntent传递数据注意参数RequestCode和Flag
数据发送方: public static void notify(Context context, TxrjMessage msg) { NotificationManager notifiM ...
- java.lang.NullPointerException 空指针异常问题
java.lang.NullPointerException 空指针异常问题: 空指针异常抛出的异常信息一般是: Exception in thread "main" java.l ...
- TCP详解 (1)
网络层: IP 被称为洲际协议,ICMP称为互联网控制报文协议 IGMP 为互联网组管理协议 传输层: 传输层的作用是把应用程序给他的任务划分为数据包,然后传递给下面的层: 应用层: 应用层的协 ...