はじめに
この記事はウェブクルー Advent Calendar 2022 13日目の記事になります。
Linux面白コマンド 7選
突然ですが、linuxにls
コマンドというものが存在するのはご存じでしょうか?
通常であればフォルダの内容を表示してくれるものです。
$ ls -l /
total 684
lrwxrwxrwx 1 root root 7 Apr 23 2020 bin -> usr/bin
drwxr-xr-x 2 root root 4096 Apr 23 2020 boot
drwxr-xr-x 8 root root 2740 Nov 17 17:29 dev
drwxr-xr-x 101 root root 4096 Nov 30 18:12 etc
drwxr-xr-x 3 root root 4096 May 27 2022 home
...
このコマンドをミスったり眠かったりしてsl
と打ってしまった経験はないでしょうか?
......、うんうん、ありますよね
linuxにはsl
コマンドというものが存在します。では実際に打ってみましょう。
(パッケージのインストールが必要です。sudo apt install sl
など)
$ sl
(@@) ( ) (@) ( ) @@ () @ O @ O @
( )
(@@@@)
( )
(@@@)
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _| \_____A
| | | H |__--------------------| [___] | =| |
| ________|___H__/__|_____/[][]~\_______| | -| |
|/ | |-----------I_____I [][] [] D |=======|____|________________________|_
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|__________________________|_
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__D__D_|
\_/ \_O=====O=====O=====O/ \_/ \_/ \_/ \_/ \_/
SLがターミナル上をかけてくれました(実際には動いています)
また、このコマンドには-l
オプションがあり、すっきりしたSLが登場してくれます
$ sl -l
(@@) ( ) (@) ( ) @@ () @ O @ O @
( )
(@@@@)
( )
(@@@)
++ +------ ____ ____________________ ____________________
|| |+-+ | | \@@@@@@@@@@@ | ___ ___ ___ ___ | | ___ ___ ___ ___ |
/---------|| | | | \@@@@@@@@@@@@@_ | |_| |_| |_| |_| | | |_| |_| |_| |_| |
+ ======== +-+ | | | |__________________| |__________________|
_|--/O========O\-+ |__________________| |__________________| |__________________|
//// \_/ \_/ (O) (O) (O) (O) (O) (O)
こんな感じで、linuxにはちょっとユーモアのあるコマンドがいくつか存在します。
調べるといろいろ出てきますが、今日は7つ(SL含む)紹介しようと思います。
※これから紹介するコマンドはパッケージのインストールが必要なものがあります
記事ではdebian系のインストールを紹介していますが、Red-Had系の場合は読み替えてください
(apt install sl
⇒ yum install sl
)
ハッカー風コマンド
まずはcmatrix
コマンド
実際に打ってみましょう
$ sudo apt install cmatrix
$ cmatrix
ランダムな文字列が、上から降ってくるようなアニメーションを表示できます。
なんか強そうですね。ハッカーになった気分です。
無限ループ表示コマンド
次はyesコマンド。
引数の文字列を無限に表示してくれます。何かに需要がありそうでなさそうですね。
$ yes hello
hello
hello
hello
hello
hello
hello
hello
hello
hello
...
牛にしゃべらせる
cowsay
コマンドを使うことで牛に好きな言葉をしゃべらせることができます
$ sudo apt install cowsay
$ cowsay Hello
_______
< Hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
実は牛だけではなく、いろいろなキャラクターが用意されています
表示できるキャラクターは-l
オプションで表示できます。
(linuxのペンギンのキャラクターとかいます)
$ cowsay -l
Cow files in /usr/share/cowsay/cows:
apt bud-frogs bunny calvin cheese cock cower daemon default dragon
dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep fox
ghostbusters gnu hellokitty kangaroo kiss koala kosh luke-koala
mech-and-cow milk moofasa moose pony pony-smaller ren sheep skeleton
snowman stegosaurus stimpy suse three-eyes turkey turtle tux unipony
unipony-smaller vader vader-koala www
$ cowsay -f hellokitty "出来立てのポップコーンはいかが?"
__________________________________
< 出来立てのポップコーンはいかが? >
----------------------------------
\
\
/\_)o<
| \
| O . O|
\_____/
キティーちゃん。。なんか微妙かもしれない。。
アスキーアート
文字をアスキーアートで表示するコマンドも用意されています。
$ sudo apt install figlet
$ figlet "Hello World"
_ _ _ _ __ __ _ _
| | | | ___| | | ___ \ \ / /__ _ __| | __| |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |
|_| |_|\___|_|_|\___/ \_/\_/ \___/|_| |_|\__,_|
$ sudo apt install toilet
$ toilet "Hello World"
m m ""# ""# m m ""# #
# # mmm # # mmm # # # mmm m mm # mmm#
#mmmm# #" # # # #" "# " #"# # #" "# #" " # #" "#
# # #"""" # # # # ## ##" # # # # # #
# # "#mm" "mm "mm "#m#" # # "#m#" # "mm "#m##
(表示の関係で、コードブロックを分けています)
画像をアスキー表示する
画像をアスキーアートにすることもできます。
あんまり複雑な画像だとよくわからないことになるので、簡単な画像のほうがいいです
$ sudo apt install aview
$ sudo apt install imagemagick
$ asciiview xxx.jpg
見えますか...? 見えます見えますあのキャラクターです
雪が降る
最後に冬っぽいものを紹介して終わろうと思います。
コマンド自体は特殊なコマンドというわけではないですが、良く紹介される1行です。
$ ruby -e 'C=`stty size`.scan(/\d+/)[1].to_i;S=["2743".to_i(16)].pack("U*");a={};puts "\033[2J";loop{a[rand(C)]=0;a.each{|x,o|;a[x]+=1;print "\033[#{o};#{x}H \033[#{a[x]};#{x}H#{S} \033[0;0H"};$stdout.flush;sleep 0.1}'
これも実際には動いているので、コマンド打ってみると面白いです。
あとがき
適当な紹介になってしまいましたが、いかがでしたでしょうか
普段は業務でしか使わないため、知らないコマンドも多かったのではないでしょうか
まあ、私もほとんど知識レベルで使うことなんてないんですが。
みなさんの息抜きになっていたら幸いです。