945
809

More than 5 years have passed since last update.

仕事の役には立たない、Linuxにおけるジョークプログラムの話

Last updated at Posted at 2016-07-08

この記事は?

  • 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

WS000000.JPG

$ lolcat MilkyWayRailroad.txt

WS000001.JPG

コンソール上でアクアリウムを眺める: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

実行結果例

WS000007.JPG

マトリックスのあの画面を再現する: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

実行結果例

WS000008.JPG

牛ではなくポニーに喋らせる: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よりもカラフルなのが見栄えがいいですね!
000045.jpg

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>

実行結果例

192.168.1.100にpongした例。
000047.jpg

作業を終わらせたらビールを飲もう! : 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時間働いたよ!!おめでとう!!!」ってやかましいわ!
000209.jpg
なお、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

実行結果例

「あなたはxx秒nyanしたよ!!」
000143.jpg

仕事上、これをタイマーとして活用するという方はtmuxscreen 内では以下のオプションでウインドウタイトルの惨事を防げます。

$ nyancat --no-title # or `-s`

プリティでキュアキュアなツール群 : cureutils

これは何?

Twitterにてリプライより、@graymd さんから情報提供いただきました。
表題の通りです。

導入方法・実行・実行結果例

当該のQiita記事を参照してください

補足

記事の性質上、「仕事の役には立たない」と区分していますが、cureutilsは仕事として使うことで利用者にハピネスチャージできる素敵ツールです。
「ジョークが通じる現場の空気作り」さえできていれば、キュアエンジニアにとってこれほど有用なツールはないでしょう。

[番外編] 天気を知りたい

話題になったやつ。Linuxのジョークプログラムではないけれど、面白いなーと思ったのでメモがてら記載。

curl wttr.in/Sapporo

現在の天気だけ出力したり、出力する日数を制限したり、画像で取得したりもできます。詳しくは、http://wttr.in/:helpを参照してください。

curl wttr.in moon

月の満ち欠けも取れちゃうぞ。

ご存知でしたら教えてください

Linuxの世界は深く、世の中にはたくさんのジョークプログラムが溢れているでしょう。
「こんなのもあるよ!」というのがあれば教えてください。
役に立たなければ役に立たないほど嬉しいです。


以上

945
809
14

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
945
809