この記事は?
- Linuxというと業務向けで使用されており、個人で使用している人は(世間一般としては)多くない
- こんな無駄なプログラムがあるんだぜ!是非仕事に活かしてくれよな!というコマンドをまとめてみた。
- CUIのものを中心にジョークプログラムを紹介する。
- 手持ちのCentOSだけの紹介ですがご了承ください。
まずは環境情報
環境情報
私の環境では下記ですので、ubuntuだとかのディストリビューションや
AIX,SolarisのようなUNIX機器でも同様にできるかは不明。
項目 | 情報 |
---|---|
CentOS | CentOS Linux release 7.2.1511 |
イカれたメンバーを紹介するぜ!
格言を出力する:fortune
これは何?
英語の格言、明言をランダムに出力する。
ユーザ独自に格言を追加することも可能。
導入方法
# yum install fortune-mod
実行
$ /usr/bin/fortune
実行結果例
$ /usr/bin/fortune
I understand why you're confused. You're thinking too much.
-- Carole Wallach.
$ fortune -f
100.00% /usr/share/games/fortune
2.94% art
1.75% perl
0.06% ascii-art
0.33% pets
2.88% bofh-excuses
1.67% literature
6.56% computers
3.20% platitudes
7.28% cookie
4.48% politics
7.59% definitions
1.33% drugs
0.84% riddles
1.30% education
0.96% love
3.99% science
1.04% ethnic
1.27% food
4.60% songs-poems
2.76% fortunes
0.94% sports
0.35% goedel
1.45% startrek
0.58% hitchhiker
0.52% tao
1.26% humorists
0.19% magic
0.08% translate-me
1.78% humorix-misc
1.29% humorix-stories
0.22% osfortune
0.46% paradoxum
1.98% kernelnewbies
0.96% kids
2.69% wisdom
3.54% knghtbrd
1.29% law
4.03% work
2.51% linux
3.50% zippy
0.67% linuxcookie
0.47% medicine
4.15% miscellaneous
7.95% people
0.34% news
$ fortune perl
Just don't compare it with a real language, or you'll be unhappy... :-)
-- Larry Wall in <1992May12.190238.5667@netlabs.com>
UNIXで有名なアスキーアートを出力する:cowsay
これは何?
UNIXには古来から牛(cow)に喋らせる(say)というジョークコマンドがあり、それがこれにあたる。
Perlで製作されており、パイプでつないで前述のfortuneなどの実行結果を喋らせるとシュールな結果が得られる。
引数で-fオプションを与えると牛以外に変更可能。
導入方法
ubuntuなどはapt-getできるがCentOS7ではyumで落とせない…ので
GitHubからもらってくる。
cowsay
取得したZIPファイルをサーバ上に転送。
$ unzip cowsay-master.zip
$ cd cowsay-master/
$ ./install.sh
Perlのパスを教えてくれよ、とメッセージが出るがデフォルトでOKなのでそのままEnter。
実行
$ cowsay <表示させたいメッセージ>
実行結果例
$ cowsay -l
Cow files in /usr/local/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 squirrel stegosaurus
stimpy supermilker surgery telebears three-eyes turkey turtle tux udder
vader vader-koala www
$ cowsay Orange
________
< Orange >
--------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
$ cowsay -f tux hello
__________
< Sapphire >
----------
\
\
.--.
|o_o |
|:_/ |
// \ \
(| | )
/'\_ _/`\
\___)=(___/
$ cowsay -f ghostbusters Passion
_________
< Passion >
---------
\
\
\ __---__
_- /--______
__--( / \ )XXXXXXXXXXX\v.
.-XXX( O O )XXXXXXXXXXXXXXX-
/XXX( U ) XXXXXXX\
/XXXXX( )--_ XXXXXXXXXXX\
/XXXXX/ ( O ) XXXXXX \XXXXX\
XXXXX/ / XXXXXX \__ \XXXXX
XXXXXX__/ XXXXXX \__---->
---___ XXX__/ XXXXXX \__ /
\- --__/ ___/\ XXXXXX / ___--/=
\-\ ___/ XXXXXX '--- XXXXXX
\-\/XXX\ XXXXXX /XXXXX
\XXXXXXXXX \ /XXXXX/
\XXXXXX > _/XXXXX/
\XXXXX--__/ __-- XXXX/
-XXXXXXXX--------------- XXXXXX-
\XXXXXXXXXXXXXXXXXXXXXXXXXX/
""VXXXXXXXXXXXXXXXXXXV""
英文文字列をAAに変換する:figlet
これは何?
英文文字列をAAに変換する。
派生形としてtoiletというものもあり、こちらは日本語にも対応できる模様。
導入方法
# yum install figlet
実行
$ figlet <変換したい英文>
実行結果例
$ figlet Message
__ __
| \/ | ___ ___ ___ __ _ __ _ ___
| |\/| |/ _ \/ __/ __|/ _` |/ _` |/ _ \
| | | | __/\__ \__ \ (_| | (_| | __/
|_| |_|\___||___/___/\__,_|\__, |\___|
|___/
汽車が走る:sl
これは何?
汽車(Steam Locomotive)のAAを出力する。
製作者は「高度に発展した、キータイプ矯正を目的とするアニメーションプログラムである」と主張している。
ついうっかりlsコマンドを打ち間違えた時に楽しくなる。
引数がlsに似せてあるのも憎たらしい。
- -a …車内の客が助けを求めるようになる
- -l…SLが小さくなる
- -F…SLが空(画面の上のほう)へ飛んでゆく
- -e…SLが走っている最中に「Ctrl + C」で離脱できるようになる
導入方法
# yum install sl
実行
$ sl
実行結果例
こいつ…動くぞ!という楽しみがあるので
是非ご自分の環境でどうぞ
虹色にファイルを読む:lolcat
これは何?
ファイルの標準出力によく使われるのがcatコマンド。
このcatのようにファイル出力を行うに当たり、実行結果が虹色になって派手にできる。
英文であれば、-aオプションを付与することでカラーアニメーション表示もできる。
Ruby製。
導入方法
$ gem install lolcat
実行
$ lolcat <ファイル名>
実行結果例
$ cat MilkyWayRailroad.txt
$ lolcat MilkyWayRailroad.txt
コンソール上でアクアリウムを眺める:asciiquarium
これは何?
たまにはアクアリウムでも眺めて心穏やかになりたい時もある。
そんなときにこのコマンドを使って、
コンソール上をアクアリウムにしちゃおう。
Perl製。
同作者さんはHPにてweatherspectというのも提供しているのでこちらも試してみてね。
導入方法
# yum install perl-Curses
# exit
$ wget http://www.cpan.org/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz
$ tar zvxf Term-Animation-2.6.tar.gz
$ wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
$ tar zvxf asciiquarium.tar.gz
$ cp -p asciiquarium_1.1/
asciiquarium /usr/local/bin
$ chmod 755 /usr/local/bin/asciiquarium
$ cd Term-Animation-2.6/
$ su
# perl Makefile.PL && make && make test
# make install
実行
$ asciiquarium
実行結果例
マトリックスのあの画面を再現する:cmatrix
これは何?
映画Matrixで出てくるあの画面にを再現するコマンド。
オプションの-sをセットするとスクリーンセーバーモードになり、何かキーを押すまで続行になるので案外使えるかもしれない。
導入方法
$ wget http://www.asty.org/cmatrix/dist/cmatrix-1.2a.tar.gz
$ tar zvxf cmatrix-1.2a.tar.gz
$ cd cmatrix-1.2a/
$ ./configure
$ make
$ su
# make install
実行
$ cmatrix -ab
実行結果例
牛ではなくポニーに喋らせる:ponysay / ポケモンに喋らせる:pokemonsay
これは何?
コメント欄より、@sharowさん、@mmizutaniさんから情報提供いただきました。
cowsayならぬponysay、pokemonsayを作ったものがGitHubにあるらしい。
あまりcowsayの拡張の話をしても記事の本題からそれるのでponysayのみ紹介。
pomysayはPython3で書かれているものなのですが、CentOS7ではPython2系なので、
バージョンを共存させスイッチさせつつ導入する。
導入方法
まずはPython3と共存させるため、pyenvを導入。
# yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git
# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
# vi /root/.bashrc
下記を追記
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# source /root/.bash_profile
# pyenv install --list
# pyenv install 3.5.2
切り替え実施。
# python --version
Python 2.7.5
# pyenv global 3.5.1
# pyenv rehash
# python --version
Python 3.5.1
パッケージはGitHubからもらってくる。
ponysay
取得したZIPファイルをサーバ上に転送。
$ unzip ponysay-master.zip
$ cd ponysay-master/
$ sudo python3 setup.py --freedom=partial install
実行
$ ponysay <表示させたいメッセージ>
実行結果例
「?」が出てしまっているのはTeratermの文字コード設定かな?未調査。
coysayよりもカラフルなのが見栄えがいいですね!
PingではなくPingPongする:pong
これは何?
コメント欄より、@kurehajimeさんから情報提供いただきました。
pingコマンドで疎通確認をするつもりが打ち間違えてpongと打ち込んでしまった!そういった時があるかと思います。OとIはqwerty配列ではお隣ですしね。
「PONG is Not PING.」というわけで、pongコマンドではピンポンのCLIゲームを提供してくれます。
導入方法
パッケージ、というかバイナリをGitHubからもらってくる。
kurehajime/pong-command
動作させたい環境のZIPファイルをサーバ上に転送。
# unzip linux_amd64.zip
# mv pong /usr/local/bin/
実行
アドレスの指定はなくても本当はいいのだけれど、アドレス指定があるほうが玉がアドレスになっていい感じ。
$ pong <IP Address>
実行結果例
作業を終わらせたらビールを飲もう! : beer-mug
これは何?
あなたの勤務時間を測定し、働いた後のあなたの幸せな生活を助けます。製作者GitHubのREADMEより。
(…若干、仕事の役に立ってしまっている気がしないでもない)
導入方法
GitHubからgo getでもらってくる。
# go get github.com/misoton665/beer-mug
# go install github.com/misoton665/beer-mug
実行
// タイマーの初期化
$ beer-mug init
// 実行
$ beer-mug start
// 適切に労働した後、タイマーを止める
$ beer-mug end
実行結果例
「あなたはxx時間働いたよ!!おめでとう!!!」ってやかましいわ!
なお、Unicode絵文字を使用しているので、適切にフォントを入れないといけません。
方法はQiita記事:Linux とかでも Unicode 絵文字を表示するためのフォントなどを参照。
Nyancat をターミナル上で走らせよう! : nyancat
これは何?
コメント欄より、@noromanbaさんから情報提供いただきました。
nyancatをご存知でしょうか。知らない人はググってください。
このコマンドはnyancatをターミナル上で走らせる、ただそれだけのコマンドです。
一応、下部に「xx秒nyanしたよ」とメッセージが出るのでタイマーとして使えなくもないが、
お仕事としては役に立たないかもしれない。
導入方法
GitHubからもらってくる。
# git clone https://github.com/klange/nyancat.git
# cd nyancat/src/
# make && cd src
以下のディストリビューションはパッケージマネージャから取得できるらしい。
(手元のCentOSではないので未検証)
Arch / Debian / Gentoo / Mandriva / Ubuntu / FreeBSD / OpenBSD
実行
$ ./nyancat
実行結果例
仕事上、これをタイマーとして活用するという方はtmux
や screen
内では以下のオプションでウインドウタイトルの惨事を防げます。
$ nyancat --no-title # or `-s`
プリティでキュアキュアなツール群 : cureutils
これは何?
Twitterにてリプライより、@graymd さんから情報提供いただきました。
表題の通りです。
導入方法・実行・実行結果例
補足
記事の性質上、「仕事の役には立たない」と区分していますが、cureutilsは仕事として使うことで利用者にハピネスチャージできる素敵ツールです。
「ジョークが通じる現場の空気作り」さえできていれば、キュアエンジニアにとってこれほど有用なツールはないでしょう。
[番外編] 天気を知りたい
話題になったやつ。Linuxのジョークプログラムではないけれど、面白いなーと思ったのでメモがてら記載。
curl wttr.in/Sapporo
現在の天気だけ出力したり、出力する日数を制限したり、画像で取得したりもできます。詳しくは、http://wttr.in/:helpを参照してください。
curl wttr.in moon
月の満ち欠けも取れちゃうぞ。
ご存知でしたら教えてください
Linuxの世界は深く、世の中にはたくさんのジョークプログラムが溢れているでしょう。
「こんなのもあるよ!」というのがあれば教えてください。
役に立たなければ役に立たないほど嬉しいです。
以上