好消息:本人博客已开通。很多其它博客请进 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的更多相关文章

  1. 单行bash、shell、perl命令

    主题:单行经典bash.shell.perl命令 作者:luomg 摘要: 会陆陆续的写自己工作中的常用有意思的命令,争取你能看完后就能搞定常见操作, 且尽量自少提供基本shell.perl的实现方式 ...

  2. 什么是shell? bash和shell有什么关系?

    什么是shell? bash和shell有什么关系? 博客分类: Linux   什么是Shell?      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序 ...

  3. bash和shell的关系

    bash是borne again shell的缩写,它是shell的一种,Linux上默认采用的是bash. shell脚本中的方法带不带function的区别,例如: function foo () ...

  4. bash反弹shell检测

    1.进程 file descriptor 异常检测 检测 file descriptor 是否指向一个socket 以重定向+/dev/tcp Bash反弹Shell攻击方式为例,这类反弹shell的 ...

  5. shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)

    如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...

  6. 用bash反弹shell

    用bash反弹shell 受害主机:linux系统 攻击机:需要安装netcat(nc) 受害主机执行:ifconfig  ## 查看受害主机ip 攻击机执行:nc -lvp 19999 ## 在攻击 ...

  7. 修改shell 将当前shell(默认是bash B SHELL )改为csh C SHELL

     在修改当前shell时,用命令: usermod -s  /bin/csh   home     home 为 你所想要改变的用户地址     此处home 为家目录,一般自己创建的用户都会在家目录 ...

  8. 认识bash这个shell

    我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作bash是我们Linux默认的shell 用户界面(Shell,application)--------核心(Kern ...

  9. Linux 学习记录 四(Bash 和 Shell scirpt)

    一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...

随机推荐

  1. SpringMVC学习笔记六:使用 hibernate-validator注解式数据校验

    对客户端传过来的参数,在使用前一般需要进行校验. SpringMVC框架内置了Validator验证接口,但是实现起来太麻烦.我们一般使用 hibernate-validator进行数据校验. 1:j ...

  2. 使用 git post-receive 钩子部署服务端代码

    在 git 中提交服务器源码的时候,如果能够直接更新到测试服务器,并且重启服务使其生效,会节省懒惰的程序员们大量的时间. git 的 Server-side hook (服务端钩子/挂钩)可以用来做件 ...

  3. 怎样使用Fiddler获取WebApi的token值?

    User-Agent: Fiddler Host: localhost: Content-Length: Content-Type: application/json grant_type=passw ...

  4. 使用gprof2dot和graphivz生成程序运行调用图

    使用gprof2dot和graphivz生成程序运行调用图 gprof2dot是一个将gprof生成的输出转换为dot脚本的工具.通过给定一个gprof的输出文件,将其转换为生成程序调用图的dot脚本 ...

  5. PHP执行insert语句报错“Data too long for column”解决办法

    PHP执行mysql 插入语句, insert语句在Navicat for mysql(或任意的mysql管理工具) 中可以正确执行,但是用mysql_query()函数执行却报错. 错误 : “Da ...

  6. hihocoder第220周-一道拧巴的题

    一.220周 题目链接 问题描述 键盘上有N个数字按键,每个按键只能按一次,每次可以按下多个键,请输出所有可能的按键情况. 输入一个整数N(N在1~8之间),输出全部的按键可能.例如:输入3,输出为 ...

  7. HTML 5 应用程序缓存(Application Cache)cache manifest 文件使用 html5 中创建manifest缓存以及更新方法 一个manifest文件会创建一份缓存,不同的manifest文件其缓存的内容是互不干扰的

    HTML5 离线缓存-manifest简介 HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(A ...

  8. java实现simhash算法

    一个牛人分享的,放在github上,用java实现,网络上还有很多用ruby写的   https://github.com/commoncrawl/commoncrawl/blob/master/sr ...

  9. springboot(六):如何优雅的使用mybatis

    这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关于spring boot ...

  10. PowerDesigner之PDM(物理概念模型)各种属性建立如PK,AK等

    一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...