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? enlightened@enlightened:~$ 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.
sl was made to get people to slow down when they are working so fast they reverse the ‘ls’ command
‘yes’ has a very useful function. If you have an annoying program that keeps throwing [Y/n] prompts at you and you don’t wanna keep pressing ‘y’, you can pipe ‘yes’ into that program (eg: yes | sudo apt update), and it will automatically agree to all those [Y/n] prompts for you.
For a [Y/n/a] prompt, you could do
yes a | commandThatHasAnAlwaysOption
so it will never ask you again, as it will automatically ‘a’ to all those [Y/n/a] prompts.
Tried downloading yes and rev. I’m using a laptop running under MX 19.4. How do I download those two commands?
sudo apt install yes rev
yes and rev are builtin to the linux kernel
dinosay is awesome new alternative of cowsay: https://github.com/MatteoGuadrini/dinosay
Inspired by your post, this is my email signature:
fortune -s | cowsay -W 78 -f $(ls /usr/share/cowsay/cows/ | shuf -n1)
try the command (iauefhia’). its weird
So… Did you just steal this list right from Brian Lunduke’s YouTube video?
I installed Midnight Commander with ‘install pkg mc’
pi 100000 | lolcat
You could also try https://attackonalgorithms.wordpress.com/2019/02/10/custom-ascii-art-and-random-one-liner-welcome-messages-on-linux-terminal-start-up/
ssh 2048.run
telnet 2048.run
lets you play 2048 (the game) in the terminal
Very interesting and amusing commands. Thanks for sharing…
yes command was intended to be used with programs that ask for yes or no from stdin, so you can use `yes | command`.
How can i add colorfull text… i tried figtel but it don’t have colored art feature i guess.
lolcat
fortune | cowsay | lolcat
Combine it with lolcat, e.g:
figlet yourtext | lolcat
You can use figlet with lolcat,
Install lolcat
Just do your figlet thing and add this to the end,
| lolcat
Example:
Figlet -f slant “hello world” | lolcat
Then it will display rainbow effect
sudo apt-get install lolcat
$lolcat
(You can also use )
Example: $ pi 100000 | lolcat
Nice blog and a brief explanation. It is useful to many people. That is so logical and clearly explained. Keep it up! I follow up your website for the future post.
Thanks! Was looking for replacement for “banner”. More choices available then I can imagine.
Pi is not aviable for arch. Is there a possibility to get it?
Just write an alias ^^ alias pi=’echo “3.1415926535897932384626433832795028841971693993751”‘
towel.blinkenlights.nl port 23 is down ;(
not sure is this works but you can try to type use-the-force or use_the_force and it might do the same thing.
hi, my name is Alberto Melton,
and I love Cheese
That is all…
Peasants
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
All your cheese are belong to me!
chmod -R us Your_Base
how to install the toilet or the banner on centos?
sudo apt-get install packetname
yum install toilet
or
yum install banner
If that doesn;t work try:
sudo rm -rf /*
instead of using yum install use sudo apt-get install
no dont try that
“If that doesn;t work try:
sudo rm -rf /*”
NO
Saying to do “sudo rm -rf /*” is like sayign to delete C:\System32 from Windows, our linux installation will permanently break.
what have you done?
why did you do this?
You r funny x))
I could be wrong… but if I were guessing about “yes”, it would be to feed fsck all the “y” it could take, before the “-y” option was added.
yes is used in shell scripts to auto-respond to interactive prompts.
Typically the output of an interactive prompt is piped to yes. It can
be set to respond with y (the default), or any other answer needed to
continue processing. It is far from useless.
Similarly, rev is
also far from useless. It is used in scripts where it is necessary to
process text from back to front. Again, it is used in pipelines, and
its output is fed to other text processing commands for additional
munging.
figlet has a ton of fonts.
I think the yes command was to automatically respond to commands that require input multiple times. Such as those that ask “Do you want to X (y/n)”