We might not pay these Linux gems much attention but we'd soon notice life without them.
Here, we salute some of the things that make using Linux so enjoyable.
Do you want to know why your six-core CPU is running like a ZX Spectrum?
Top, or its more colourful brother Htop, shows you just what is hogging all of your CPU or memory, and lets you shut down errant processes into the bargain. You may not need it often, but never forget it's there.
The distro installer created by Red Hat, now used by Fedora. It was the first successful attempt at an easy-to-use graphical installer for Linux and paved the way for even more friendly installers, such as Mandrake's DrakX.
Anaconda heralded a significant change in mindset that opened up the possibility of installing Linux to many more users.
What udev did for automounting, NetworkManager has done for wireless connectivity. No longer do we have to grapple with wpa_supplicant and iwconfig to set up an encrypted wireless connection, just take your device within range, give the passphrase and connect. Drivers may still be a problem for some hardware, but setting up the connection has never been easier.
An honourable mention for the lesser-known Wicd, which also does a fine job of managing network connections.
While some may complain about the need to ever use the command line, we rejoice in the power this provides. This is in no small part due to the features available in shells like Bash and ZShell.
So much more useful than the standard shell, and capable of making life at the command line extremely productive and fun – in a geeky kind of way.
If you use Ubuntu, you have probably used Synaptic to install software, but this is merely a front-end to apt-get, just about the best package manager out there (apart from Portage, of course).
Handling dependencies, keeping track of updates, even updating the full distro, are all simple to do, either directly or with a few clicks in Synaptic.
When we refer to Linux, we usually mean a distro or a complete OS installation, but Linux itself is only the kernel. A mere few megabytes of code that sit in the background, enabling and helping everything else to run. Everything you do on your computer ends up in the hands of 2–3MB of kernel and a few associated drivers.
Love it or hate it, and we're not going to start a flamewar by revealing our preferences, Vi, and its enhanced sibling Vim, is considered by many to be the de facto text editor for Linux. There are plenty of editors available, GUI and console, but you can be almost certain that some form of Vi will be present on any system you have to work with. That alone makes it worth learning to use.
VLC stands for VideoLAN Client, but this is basically a media player. More to the point, it is a media player that will play just about anything you can throw at it: files in odd codecs, network media streams, DVDs. Even if you prefer a different player most of the time, keep this one in your back pocket for extreme situations.
There are two types of people in the world, those who have never tried Screen and those who could not do without it. Screen lets you detach a shell process from the terminal running it – which is incredibly useful if you have more than one computer – and SSH between them, or need to administer computers remotely. The only valid reason for not using Screen is because you prefer Tmux, which does a similar job.
Virtualisation looked like being one of the last bastions of closed source software on Linux, neither VMware or VirtualBox being truly free. But the addition of KVM to the kernel means that the Qemu emulator can give just as good performance on most hardware, even if it can be a little more work to set up, for now.
Udev is a filesystem that dynamically manages the device nodes in the /dev/ directory. Impressed? No? How about if we told you that this is what makes automatic mounting of USB devices, auto-running CDs and most plug-and-play hardware configuration possible?
Not only does udev do all this, it runs in user space so you can tweak and fine-tune what it does with which device, without going near the kernel.
It wouldn't be politically correct to mention Vi without also including Emacs. This text editor has so many features – it can be used to read email and even browse the web – that it is occasionally referred to as "an operating system in need of a good text editor". GNU Emacs was originally written by Richard Stallman, which is reason enough to include it here.
Wine runs Windows programs on your Linux desktop. It doesn't need a virtual machine, or even a Windows install disc and licence, it emulates the Windows system in Linux. Running Windows programs is useful for many, but the comfort of being able to run a Windows program should the need arise is important to many more. Wine is an excellent program and an even better safety net.
14. Grep, Sed & Awk
These three programs are used for processing text files, including configuration and log files. While seeming complex to start with, in the hands of someone with a little experience they are invaluable for processing information and altering settings. Of the three, Grep is the easiest to understand if you feel like investigating further.
Many Linux users may think there are only two desktops, Gnome and KDE (many Ubuntu users think there's only one) but this couldn't be further from the truth. If you don't need all the features of the "big two", desktops such as LXDE and Xfce have a lot to offer. They are lightweight and fast, even on slower hardware, and blisteringly so on modern systems.
The GNU Compiler Collection may not sound very exciting, but we wouldn't be here without it. Implicit in the distribution of software as source code is that there is a freely available way to turn that code into runnable programs.
Free source code wouldn't be much use if a commercial compiler were needed to build it; gcc prevents such a Catch-22 situation arising. It is probably also the key justification for including the GNU name with Linux.
If a program refuses to quit, you can stop it with the dramatically named kill if you know its process ID, or you can use killall and its name (although this will kill all running programs with that name). What if it's a GUI program? No problem, run Xkill, click on the offending window and it will vanish before your eyes.
Inkscape is a vector drawing program, in the same vein as Adobe Illustrator. Hiding behind a ridiculously low version number (currently 0.48.1) is some mature and powerful software.
Inkscape is capable of producing beautiful images and stunning effects, yet so many Linux users remain unaware of it. It is not for retouching your holiday snaps, but if you want to let your creative spirit loose, give it a try.
First published in Linux Format Issue 149
Liked this? Then check out Top 50 best Linux apps 2011
Sign up for TechRadar's free Week in Tech newsletter
Get the hottest tech stories of the week, plus the most popular reviews delivered straight to your inbox. Sign up at http://www.techradar.com/register