Last month I mentioned a quest to learn the Unix shell .. specifically » bash (the Bourne Again SHell). Almost done. Currently ~80% complete .. enough to feel reasonably confident at a terminal.
The 'shell' is simply a program that lets you interact with the operating system (actually the kernel, to be more precise) ..
.. by taking your (text-based) commands and passing them on to the kernel. In my case, this kernel happens to be » Linux (which is but one variant of Unix).
The term 'shell' comes from the notion that this software acts like a 'layer' that sits between you and the operating system .. similar to the way an egg-shell sits between you and your hard-boiled breakfast.
The shell can be intimidating, cuz it uses a (text-based) command-line interface (CLI). No intuitive GUI to help you along. You either know the commands or you don't.
Didn't take me long to realize the CLI was where Linux's true power resides. When we upgraded the site, for example, to a Virtual Private Server, the support-techs who helped me with the move all used the command-line to work their mojo.
Most Linux distros do indeed come with an excellent GUI (usually either KDE or Gnome). But (but!) the Rad VPS does not. Which is why it became necessary to learn the Unix shell. (Something I tried to avoid.)
The Rad VPS is based on CentOS (Community ENTerprise Operating System), an off-shoot of Red Hat, which is probably the most popular of all enterprise Linux distros (.. and now a new member of the S&P 500, a development you may find telling).
GUIs (such as KDE or Gnome) require lots of memory/RAM. My laptop, for example, has 2-gigs, but the Rad VPS comes with an allotment of only 512-MB (.. upgraded from 384 just today).
With that limited amount, I need to run not only all the standard web applications .. such as Apache (web server), MySQL (database), Perl (scripting language), etc. but also cPanel/WHM.
So there's not much RAM left to run a GUI. [ Don't think I didn't inquire about installing a GUI. =) ]
Bottom line » if you wanna administer your own VPS, you need to learn the Shell. So that's what I'm doing. (Of course, there have been distractions, making progress uneven.)