For a linux user, the terminal or command line is a powerful and important tool for work. A lot of things on linux are done inside the terminal.

When working on a linux server, the command line shell is the only interface to work with, most of the time. But the terminal is also very textish and a bit non-interesting at time.

The linux terminal is not always dull and boring. There are commands to make it do some funny acts to entertain the user.

Here is a small collection of such commands.

1. Cowsay

The cowsay command draws out little animals using ascii art in the terminal or shell. It is not very graphical but does a nice job at the drawing. On ubuntu or debian systems you can install cowsay with apt.

$ sudo apt-get install cowsay

Cowsay is a talking cow that will speak out anything you want it to.

$ cowsay "Hi, How are you" _________________ < Hi, How are you > ----------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||

Don't like cows ? No problem there are other animals in the cow zoo. To find out how many, use the l option to get a list

$ cowsay -l Cow files in /usr/share/cowsay/cows: apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default dragon dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep ghostbusters gnu head-in hellokitty kiss kitty koala kosh luke-koala mech-and-cow meow milk moofasa moose mutilated pony pony-smaller ren sheep skeleton snowman sodomized-sheep stegosaurus stimpy suse three-eyes turkey turtle tux unipony unipony-smaller vader vader-koala www

$ cowsay -f ghostbusters Who you Gonna Call ____________________ < Who you Gonna Call > -------------------- \ \ \ __---__ _- /--______ __--( / \ )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""

There are lots of other animal ascii arts in the collection like dragons, elephants, koalas and lot others.

The cowsay command supports quite a few options to modify the behaviour of the cows. Check the man page.

2. Cowthink

The cow can do more than just talking, it can even think. To make the cow think, use the cowthink command.

$ cowthink "Hmm, I didn't know that" _________________________ ( Hmm, I didn't know that ) ------------------------- o ^__^ o (oo)\_______ (__)\ )\/\ ||----w | || ||

All animals of the cow zoo can think, and command is similar to the earlier one.

3. sl - Steam Locomotive

$ sudo apt-get install sl

With the sl command, a steam locomotive will run across your terminal from right to left. And it looks like this

(@@) ( ) (@) ( ) @@ () @ O @ ( ) (@@@@) ( ) (@@@) ==== ________ ___________ _D _| |_______/ \__I_I_____===__|_________| |(_)--- | H\________/ | | =|___ ___| ________________ / | | H | | | | ||_| |_|| _| | | | H |__--------------------| [___] | =| | ________|___H__/__|_____/[][]~\_______| | -| |/ | |-----------I_____I [][] [] D |=======|____|_________________ __/ =| o |=-O=====O=====O=====O \ ____Y___________|__|___________________ |/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D_ \_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/

The sl command has 2-3 additional options, that can be found in the man pages.

4. figlet - draw banners

The figlet command can be used to draw large sized text banners. I remember seeing such banners as the welcome message of socket daemons/services, when connecting via telnet.

$ figlet Welcome __ __ _ \ \ / /__| | ___ ___ _ __ ___ ___ \ \ /\ / / _ \ |/ __/ _ \| '_ ` _ \ / _ \ \ V V / __/ | (_| (_) | | | | | | __/ \_/\_/ \___|_|\___\___/|_| |_| |_|\___|

5. toilet - draw banners again

The toilet command is similar to the figlet command, that it draws large sized text banners using smaller characters.

$ toilet Welcome m m ""# # # # mmm # mmm mmm mmmmm mmm " #"# # #" # # #" " #" "# # # # #" # ## ##" #"""" # # # # # # # #"""" # # "#mm" "mm "#mm" "#m#" # # # "#mm"

The toilet commands supports a wide range of options like unicode support, colored fonts, filters etc. Check out the man page. To draw the text in a bit different way, try the following command

$ toilet -f mono12 -F metal Linux

6. banner

The banner command too can print banners like figlet and toilet but it is very limited. No options and can print only 10 characters at most.

$ banner Wonderful # # # # # #### # # ##### ###### ##### ###### # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # ##### # # ##### # # # # # # # # # # # # # # ##### # # # # # # # # # # ## # # # # # # # # # ## ## #### # # ##### ###### # # # #### ######

But quick and handy.

7. fortune

The fortune command will put up a random, but hopefully sensible quote, or your fortune for the day.

$ fortune -s Don't tell any big lies today. Small ones can be just as effective.

The s option tells the fortune command to generate only small sized messages.

The cow can be made to say the fortune like this

$ fortune | cowsay ______________________________________ / You like to form new friendships and \ \ make new acquaintances. / -------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||

8. cmatrix - The MATRIX

$ sudo apt-get install cmatrix

The command cmatrix draws the Neo style matrix on your terminal and makes you feel a little more geekier.

9. rev - Reverse text and files

The rev command will print the reverse of whatever you type in. First run rev, then start typing one sentence at a time

$ rev hello olleh what ? ? tahw this is super cool looc repus si siht

10. Moo with apt-get

The apt-get command has this easter egg where the cow does a moo

$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"...

11. Moo with aptitude

The aptitude command moos a bit reluctantly and here is how to make it do so.

$ aptitude moo There are no Easter Eggs in this program. $ aptitude -v moo There really are no Easter Eggs in this program. $ aptitude -vv moo Didn't I already tell you that there are no Easter Eggs in this program? [email protected]:~$ aptitude -vvv moo Stop it! $ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? $ aptitude -vvvvv moo All right, you win. /----\ -------/ \ / \ / | -----------------/ --------\ ---------------------------------------------- $ aptitude -vvvvvv moo What is it? It's an elephant being eaten by a snake, of course.

You have to keep bugging aptitude with the verbose option to get the easter egg.

12. Watch Star Wars

This is not actually a command, but a text animation broadcasted at towel.blinkenlights.nl and can be played inside the terminal by telnetting to the server.

$ telnet towel.blinkenlights.nl

The show begins like this



So if you have been sitting on the terminal for long and want some entertainment, turn it on.

13. Loop with yes

The yes command will go on printing the same thing indefinitely until stopped by a Ctrl+C. The command apparently appears to have no use, but in scenarios like software testing it is often needful to produce large amounts of junk text quickly and that is where tools like this come in handy.

$ yes start start start start start ... keeps going on

14. factor - factorise numbers

This command would print out all the lowest common multiple (LCM) factors of any given number.

$ factor 60 60: 2 2 3 5

If you still remember your school maths, factoring a prime number would produce only the number itself and no factors.

15. pi - The Constant

The pi command prints the mathematical constant PI to any number of decimal figures. So lets print it to the first 500 figures after decimal.

$ pi 50 3.1415926535897932384626433832795028841971693993751

16. Xcowsay

xcowsay is the gui version of the cowsay command, and you need a running desktop (X display) to use it. It cannot work solely from a terminal.

$ xcowsay "hello"

17. xeyes

Xeyes is also a gui program that draws a pair of eyes on the desktop which follow the mouse cursor. The eyes would look where ever the mouse cursor goes.

Just run the command and see the output

$ xeyes

18. asciiviewer - convert images to ascii art

Since the terminal is limited to only text, tools like asciiviewer are often useful to generate images out of pure text. And to do this you need the tool called asciiviewer

$ sudo apt-get install aview

And now convert any images to asciiart using this simple command

$ asciiview Tux.png -driver curses



Spotting the Linux mascot above should not be difficult.

19. aafire - burn the console

The next command is aafire and it too is an asciiart animation that renders a burning fire on the terminal.

$ aafire

And the output should look like this

20. bb - the successor of aa

bb is a high quality audio-visual demonstration for your text terminal. It is a complete animation that draws using pure text and has background too. Very interesting to watch.

$ bb

21. text to speech with espeak

espeak is a multi lingual software speech synthesizer. It can speak out text using stored sound files and patterns. And the best part is that it is a terminal application.

$ sudo apt-get install espeak

Now give it a sentence to speak

$ espeak "Hello Linux, where are the penguins"

It is capable of pronouncing complex "proper name" words.

So that was it, if you know about more such command line toys, then let us know in the comment box below.

22. rig

The rig command generates random and possibly fake identities.

$ rig Bettye Dunlap 799 Second St Denver, CO 80202 (303) xxx-xxxx

Conclusion

Those were some entertaining commands for the linux users. If you know of any other commands that can do cool stuff inside the shell, then let me know.