Learning Linux

Linux is an open source operating system invented by Linus Torvalds in 1991. The name Linux is pronounced the same as 'Lin' in the word Linen, and this is also how its creator pronounces his name, though some mistakenly pronounce it 'lie nux'. Linux is a UNIX-like operating system which is differentiated from UNIX mostly in that it uses some variant of the kernel Linus invented. Advantages to using Linux include system stability, a number of free applications and languages, and relative security and lack of 'in the wild' viruses.

What is Linux?: From the University of Maryland's Linux Users Group
Linux's History: By Linus Torvalds
Pronunciation of Linux: With audio of Linus himself pronouncing the name

To get started with Linux you will need to look into the following:

Selecting a Linux Distribution

Because Linux is open source there are different distributions or versions that are maintained by independent groups or companies. The main distributions are as follows.

The Fedora Project: The successor to Red Hat linux
Ubuntu: A Debian Linux derivative
Mandriva: Formerly Mandrake Linux

Preparing Your Hard Disk

Once you have a distribution you will have to prepare you hard disk properly. Back up your existing hard drive data in case data recovery is required later, or there is a problem with the installation. You might also choose to use a raid setup to make raid data recovery options possible, especially if you intent to use Linux for a server.

Prepare a Network Install: Install Linux from a Network Floppy
Linux Partition How To: How to install Linux on a partition

Installation of Linux

You can install Linux either by downloading a distribution from the Internet, or by downloading an image, which you can burn to a CD, or by purchasing a CD-ROM with a Linux installer.

Linux How To: How to Install Linux
Linux Distributions: A directory of distributions available for download or on CD-ROM

Basic UNIX Commands & Concepts

Once you have Linux installed, you'll want to familiar yourself with UNIX concepts like the command line, and commands available. Most Linux commands are identical or very close to ones commonly available on UNIX systems.

Linux Commands: A practical reference to Linux commands
Basic UNIX Commands: A reference from Stanford University
UNIX 101: A basic introduction to UNIX commands
Los Angeles Data Recovery: Linux data recovery services in Los Angeles California
UNIX Command Summary: A summary with information of why commands have the names they do, which makes it easier to remember them
Introduction to Unix commands: From Indiana University's Knowledge Base

Basic System Administration

If you're managing a multiple user system, or server, you will need to know the basics of Linux system administration.

Linux System Administration: Best practices
Linux Info Page: Reference of Linux Administration How-To information

The Kernel

Some software requires modifying the core of Linux; the kernel. This is done through recompiling the kernel, installing alternative kernels, or using different kernel models.

The Linux Kernel API: A reference
Compile the Linux Kernel: A How to guide
Compiling Linux Kernel for x86: A Ubuntu specific guide

Customizing Linux

A number of things in Linux are customizable. Among the popular things to customize is the Window manager, and its themes. Also different command line shells exist, and aliasing complicated commands to simple words is helpful.

The X Window System: Information on the GUI for Linux & UNIX
Choosing a Window Manager: A guide to Windows managers on Linux
Desktop Environments and Window Managers: Information on the Linux GUI
The Gnome Project: A popular Window Manager
KDE: Another popular Linux window manager

Scripts & Scripting Languages

One powerful aspect of Linux is the ability to automate tasks using mini-programs to accomplish redundant or repetitive tasks. Linux generally comes with support for Shell Script, Perl, PHP, and other scripting languages.

BASH: A Linux/Unix shell
BASH Programming: Shell scripting how-to
PERL: The Perl programming/scripting language
PHP: The PHP programming language

Linux, The Internet, Telecommunications, & Networking

Linux is a very network centric operating system. Linux typically comes installed with a web server named Apache, which is the most popular web server. It also has support for file sharing both using the Network File System (NFS), as well as other systems like SMB using SAMBA.

Apache: The most popular Web Server
SAMBA: SMB file sharing for Linux/Unix
NFS: The Network File System

With viruses constantly on the rise, and the economy being tough, Linux can be a safer, and productive alternative to mainstream systems such as Windows. Other UNIX-like systems also about like Mac OS X, a commercial OS from Apple, as well as FreeBSD, and Darwin, which are both UNIX based free systems. Even with all of these choices UNIX like operating systems offer a variety of free software, rugged security features, powerful administration capabilities, and dynamic extensibility.

Mac OS X: Operating System behind the Macintosh and iPhone/iPod
FreeBSD: Free open source UNIX operating system
Darwin: A free open source operating system largely compatible with Mac OS X technologies but without the licensing costs