Learning Linux


This document provides information and links to resources relating to learning about Linux, starting from the most basic subjects.

Linux Overview

For background information about Linux, read the Wikipedia Linux article.

Linux Basics

Command Line Tools

Text Editors

This section discusses popular text editors that can be run in a standard console window. I.e. they do not require a GUI interface to run. It is very useful to be able to use at least the basic text editing functions of each of these text editors. Invariably, at least one of them will be installed on any Unix system.

Vim and Emacs are extremely powerful editors with functionality to support many different file formats and programming languages. Vi would appear to be more popular than Emacs, probably because Emacs appears more daunting to learn. There are also many more editors, some of which are more suited for some tasks. E.g. For Java development, Eclipse is a good choice.

All three editors can also be used on Windows, Mac OS X, Linux and Unix.

Emacs supports Collaborative Editing.


Nano seems to have become the default text editor for Debian and Ubuntu. It is completely intuitive to use the basic editing functions, and therefore much easier to use for the first time than Vim or Emacs, but not as powerful.


Vi is normally the default text editor under Unix, so it is highly recommended to learn the basic editing commands of this editor. Start with the man pages:

    $ man vi

There are many flavours of Vi, one being Vim (An acronym for Vi Improved). The Vim editor has a built-in tutorial which you can execute with the following command:

    $ vimtutor

Using the vimtutor is probably the quickest and easiest way to learn vi.


GNU Emacs was the original Emacs editor, with a fork of Emacs being publicly released in 1991 and is now known as XEmacs. It is a personal matter which you prefer to use. There seems little to choose between them.

Emacs has a built-in tutorial which can be accessed from the Help menu.

Writing Scripts

Once you have gained experience using Linux and have become familiar with the basic commands and documentation, you should move onto writing simple scripts to ease everyday tasks. Work through the following guides:

System Administration

Linux Filesystem Hierarchy

To understand where the best place to files of various types, read the Linux Filesystem Hierarchy

The Linux System Administrator's Guide

This guide covers most of the activities that are potentially useful to anyone managing a Linux system, whether it be a server, desktop, laptop or hand-held device.



Related Topics: LinuxHintsAndTips, CygwinHintsAndTips, EmacsTips

-- Frank Dean - 13 Mar 2010