Adrian's rough guide to learning Linux

I started having a bit of a look around for a suitable introduction, but there's surprisingly few around. This is possibly because Linux on the desktop has become so easy with Ubuntu, et al, that most people can just login, start Firefox and be laughing at pictures of cats in minutes. Sadly, using the command line remains an arcane art, and akin to learning/teaching a different language.

Probably the most important thing to learn first of is how to use the vim text editor; almost all the configuration and management of Linux is done by manipulating text files, and vim is the de facto, and best, way of doing that. This is a not entirely horrible introduction to vim.

Next would be managing software. Linux comes in a variety of different "distributions". Unlike other operating systems, the majority of the software for this distributions comes ready to install in "packages". There are several different package management systems used by the various distributions, however my personal favourite is dpkg/apt, which is used by Debian and it's derivatives (Ubuntu, Linux Mint, etc). IBM have written a reasonable guide to using apt titled Learn Linux, 101: Debian package management.

Another big aspect of Linux (and indeed most computers) is networking. Linux is a particularly powerful networking platform, but also a potentially confusing one. A good place to start for someone who's networking experience extends to funny blue cables and yelling at their ISP (probably Bigpond) is chapter 2 of the Linux Home Networking guide. This is an overall introduction to IP networking and should be followed up with chapter 5 of the Debian Reference.

Lastly I'll include a list of programs (in no particular order) which you may find useful and are worth while researching and learning:

(This list is far from complete, but I'll worry about filling it out more later).