Fun Terminal Tricks and Easter Eggs Every User Should Know

The Secret History: The history Command Itself

One of the most deceptively simple yet fascinating terminal tricks is the history command. When you type history and press enter, your terminal displays a numbered list of every command you’ve run in the current session, often pulling from a hidden file like .bash_history. But the real Easter egg is how you can interact with this list. For example, typing !500 will re-run the command numbered 500. Even more magical is !!, which repeats your last command—incredibly useful when you forget to type sudo in front of a command. Just type sudo !! and watch the system fix your mistake. There is also !$, which repeats the last argument of your previous command. If you typed mkdir new_folder, then cd !$ will move you straight into new_folder. This isn’t just a trick; it’s a time-saving superpower hidden in plain sight.

The Cow That Speaks Code: cowsay and cowthink

Among the most beloved terminal Easter eggs is cowsay, a program that generates an ASCII art cow speaking your input. To try it, first install it (sudo apt install cowsay on Debian/Ubuntu, or brew install cowsay on macOS). Then type cowsay "Hello, world!" and you’ll see a cow bubble with your text. But the fun doesn’t stop there. You can change the animal using the -f flag: cowsay -f tux "Linux is cool" gives you the Linux penguin. The command cowthink replaces the speech bubble with a thought bubble. To discover all available creatures, look inside /usr/share/cowsay/cows/ or type cowsay -l. For an extra layer of absurdity, pipe the output of another command into cowsay—for example, fortune | cowsay will have a cow speak a random proverb. Combine it with lolcat (which adds rainbow colors) for a truly psychedelic terminal experience: fortune | cowsay | lolcat.

The Star Wars Movie in Text: telnet towel.blinkenlights.nl

You do not need a media player to watch an entire Star Wars movie—just your terminal. The Easter egg is a classic ASCII animation of Star Wars: Episode IV – A New Hope that plays entirely in text. To watch it, simply type telnet towel.blinkenlights.nl into your terminal (on macOS or Linux; Windows users may need to enable Telnet via Control Panel). Once connected, sit back as the iconic crawl, spaceships, and battles unfold using only characters and colors. This is a legendary piece of internet history, created as a tribute to the original ASCII Star Wars that used to run on a similar service. If your system lacks telnet, you can use nc towel.blinkenlights.nl 23 (netcat) or find the video on YouTube, but nothing beats the raw authenticity of seeing it inside a terminal.

The Matrix Digital Rain: cmatrix and unimatrix

If you have ever wanted your terminal to look like the famous green code rain from The Matrix, cmatrix is the Easter egg for you. Install it (sudo apt install cmatrix), then type cmatrix. Instantly, your terminal fills with cascading green characters. Press any key to exit. For more control, try cmatrix -u 3 to slow the scroll speed, or cmatrix -C blue to change the color. Even more fun is unimatrix, a modern clone that supports Unicode characters and more vibrant effects. Run unimatrix -a -s 95 -l o to get a creepy orange “one” rain effect. These are not just decorative; they demonstrate how terminal graphics can manipulate character positioning and color codes in real time.

The Secret Screensaver: xeyes and oneko

Long before graphical screensavers, Unix users had xeyes. When you type xeyes (install if missing via x11-apps), a pair of cartoonish eyes appear in a small window, and their pupils follow your mouse cursor across the entire screen—even over other windows. It is both useless and delightful. Even more obscure is oneko, a cat that runs after your mouse pointer. Install oneko, then type oneko. A pixel-art kitten will appear and chase your cursor. If you run oneko -dog, the cat is replaced with a dog. These are pure Easter eggs: unnecessary, charming, and a reminder that programmers have always had a sense of humor.

The Steampipe: sl (Steam Locomotive)

One of the most famous punishment Easter eggs is sl. It was created as a joke response to the common typo of ls (list directory) as sl. If you type sl, a steam locomotive chugs across your terminal from right to left, complete with animated wheels and sound effects (if your terminal supports it). To install: sudo apt install sl. Once running, you can press Ctrl+C to stop it—but real users let the train finish. For extra fun, try sl -a (accident mode, where the train derails into a burning wreck), sl -l (shows a smaller logo train), or sl -F (the train flies!). It is the perfect prank to run on a friend’s terminal when they leave their laptop unlocked.

The Fortunes of Wisdom: fortune

The fortune command displays a random aphorism, joke, or poem. Install it with sudo apt install fortune-mod, then simply type fortune. You might see a Confucius saying, a biting computer science joke, or a bizarre ASCII art. The real Easter egg lies in its customization: you can enable offensive fortunes with fortune -o (if the offensive database is installed), or limit to short ones with -s. For maximum impact, pipe fortune into cowsay and then into lolcat. Add this to your .bashrc file to display a new fortune every time you open a terminal. Even better, combine fortune | cowsay | lolcat with a terminal greeting—every login becomes a surprise.

The Calendar of the Future: cal with Weird Dates

The humble cal command prints a calendar of the current month. But the Easter egg is that cal can display any month in history, and it uses the Gregorian calendar transition. For example, cal 9 1752 shows the month when the British Empire switched calendars—you will see that September 2, 1752 is followed by September 14, 1752 (the missing 11 days are gone). Another trick: cal can show the entire year: cal 2025. But the real fun is cal -y to show the current year, or cal -3 to show previous, current, and next month together. Some versions support cal -m to make Monday the first day of the week. It is a simple command hiding centuries of calendar history.

The ASCII Art Landscape: bb and aa

For a truly stunning Easter egg, install bb (ASCII art demo) or aalib (ASCII art library). The command bb launches a real-time, animated ASCII art landscape with a rotating sun, clouds, and a river, all made of characters. It was originally a demo for the libcaca library. To install on Debian/Ubuntu: sudo apt install bb. Then type bb and watch a mesmerizing, retro-futuristic vista. Even more impressive is aafire, part of aalib, which displays a roaring ASCII fire animation. Type aafire and see flames rendered in text. These aren’t just tricks—they demonstrate how terminal graphics can simulate real-time visual effects without any graphical interface.

The Hidden Browser: links2 with Graphics

Most users know lynx as a text-based web browser. But the Easter egg is that links2, another terminal browser, can actually display images in the terminal using ASCII art rendering. Install links2, then type links2 -g to launch the graphical mode (yes, inside your terminal). Or for pure text, just links. But the real trick is links2 http://example.com -driver fb to force framebuffer output. While not a traditional “Easter egg,” few expect a terminal browser to render images. Another browser-based trick: w3m with the w3m-img package can show images inside some terminals. Type w3m https://www.debian.org and see a surprisingly usable web experience.

The Self-Destruct Message: echo and Terminal Bell

A classic prank Easter egg is the terminal bell. You can make your terminal beep using echo -e "\a" on Linux/macOS, or echo ^G (typed by pressing Ctrl+G) on older systems. For a more elaborate joke, combine it with a countdown: for i in {5..1}; do echo -e "$i... \a"; sleep 1; done; echo "Boom!". But the true hidden gem is the tput command: tput bel rings the bell, tput flash flashes the screen (if supported). You can also change terminal colors with escape sequences. For example, echo -e "\e[31mRed text\e[0m" prints red text. The Easter egg is that you can write a “self-destruct” script that flashes colors and beeps, then prints “System destroyed” in a scary font. Completely harmless but hilarious.

The Unknown Commands: rev, factor, and yes

Some of the simplest built-in commands are themselves Easter eggs. rev reverses each line of input: type echo hello | rev and get olleh. factor breaks a number into its prime factors: factor 60 returns 60: 2 2 3 5. And yes is the ultimate silly command: typing yes prints an infinite stream of “y” (or any word you give it, like yes no). It was originally used to automatically answer “yes” to interactive prompts, but now it is mostly a joke. Run yes | cowsay to have the cow repeat your word forever until you press Ctrl+C. The true Easter egg is combining them: yes "hello world" | rev | head -5 shows five reversed lines of “hello world” repeated. Useless? Absolutely. Fun? Without a doubt.

Conclusion: The Terminal as a Playground

The terminal is not just a tool for system administration or coding—it is a hidden playground filled with jokes, animations, and historical oddities. From a speaking cow to a full Star Wars movie, from the Matrix rain to a derailing train, these Easter eggs remind us that computing should also be fun. To discover more, explore the man pages (e.g., man cowsay), search for “terminal games” (like nethack or moon-buggy), or even write your own Easter egg using simple shell scripts. The next time you open a terminal, remember: behind every serious prompt lies a little bit of joy waiting to be uncovered.