# Introduction to Linux

A Hands on Guide
Machtelt
Garrels
Garrels.be

                            tille wants no spam _at_ garrels dot be

1.27
20080606
2002
2003
2004
2005
2006
2007
2008
Machtelt Garrels
ISBN 90-808529-1-0
Linux
Beginners
linux
start
Getting started
guide
Guide
Exercises
exercises

## Introduction

### Why this guide?

Many people still believe that learning Linux is difficult, or that only experts can understand how a Linux system works. Though there is a lot of free documentation available, the documentation is widely scattered on the Web, and often confusing, since it is usually oriented toward experienced UNIX or Linux users. Today, thanks to the advancements in development, Linux has grown in popularity both at home and at work. The goal of this guide is to show people of all ages that Linux can be simple and fun, and used for all kinds of purposes.

### Who should read this book?

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter. For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. We hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

Everybody who wants to get a CLUE, a Command Line User Experience, with Linux (and UNIX in general) will find this book useful.

### New versions and availability

This document is published in the Guides section of the Linux Documentation Project collection at ; you can also download PDF and PostScript formatted versions here.

The most recent edition is available at http://tille.garrels.be/training/tldp/.

The second edition of this guide is available in print from Fultus.com Books as paperback Print On Demand (POD) book. Fultus distributes this document through Ingram and Baker & Taylor to many bookstores, including Amazon.com, Amazon.co.uk, BarnesAndNoble.com and Google's Froogle global shopping portal and Google Book Search.

#### Introduction to Linux front cover

Front cover of the Intro to Linux guide, featuring a baby penguin that has just come out of the egg.

The guide has been translated into Hindi by:

- Alok Kumar

- Dhananjay Sharma

- Kapil

- Puneet Goel

- Ravikant Yuyutsu

Andrea Montagner translated the guide into Italian.

### Revision History

1.27 20080606 MG updates. 1.26 20070919 MG Comments from readers, license. 1.25 20070511 MG Comments from readers, minor updates, E-mail etiquette, updated info about availability (thanks Oleg). 1.24 2006-11-01 MG added index terms, prepared for second printed edition, added gpg and proxy info. 1.23 2006-07-25 MG and FK Updates and corrections, removed app5 again, adapted license to enable inclusion in Debian docs. 1.22 2006-04-06 MG chap8 revised completely, chap10: clarified examples, added ifconfig and cygwin info, revised network apps. 1.21 2006-03-14 MG Added exercises in chap11, corrected newline errors, command overview completed for chapter 9, minor corrections in chap10. 1.20 2006-01-06 MG Split chap7: audio stuff is now in separate chapter, chap11.xml. Small revisions, updates for commands like aptitude, more on USB storage, Internet telephony, corrections from readers. 1.13 2004-04-27 MG Last read-through before sending everything to Fultus for printout. Added Fultus referrence in New Versions section, updated Conventions and Organization sections. Minor changes in chapters 4, 5, 6 and 8, added rdesktop info in chapter 10, updated glossary, replaced references to fileutils with coreutils, thankyou to Hindi translators.

### Contributions

Many thanks to all the people who shared their experiences. And especially to the Belgian Linux users for hearing me out every day and always being generous in their comments.

Also a special thought for Tabatha Marshall for doing a really thorough revision, spell check and styling, and to Eugene Crosser for spotting the errors that we two overlooked.

And thanks to all the readers who notified me about missing topics and who helped to pick out the last errors, unclear definitions and typos by going through the trouble of mailing me all their remarks. These are also the people who help me keep this guide up to date, like Filipus Klutiero who did a complete review in 2005 and 2006 and helps me getting the guide into the Debian docs collection, and Alexey Eremenko who sent me the foundation for chapter 11.

In 2006, Suresh Rajashekara created a Debian package of this documentation.

Finally, a big thank you for the volunteers who are currently translating this document in French, Swedish, German, Farsi, Hindi and more. It is a big work that should not be underestimated; I admire your courage.

### Feedback

Missing information, missing links, missing characters? Mail it to the maintainer of this document:

                        tille wants no spam _at_ garrels dot be

Don't forget to check with the latest version first!

### Copyright information

    * Copyright (c) 2002-2007, Machtelt Garrels
    * All rights reserved.
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions are met:
    *
    *     * Redistributions of source code must retain the above copyright
    *       notice, this list of conditions and the following disclaimer.
    *     * Redistributions in binary form must reproduce the above copyright
    *       notice, this list of conditions and the following disclaimer in the
    *       documentation and/or other materials provided with the distribution.
    *     * Neither the name of the author, Machtelt Garrels, nor the
    *       names of its contributors may be used to endorse or promote products
    *       derived from this software without specific prior written permission.
    *
    * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
    * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR ANY
    * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The logos, trademarks and symbols used in this book are the properties of their respective owners.

### What do you need?

You will require a computer and a medium containing a Linux distribution. Most of this guide applies to all Linux distributions - and UNIX in general. Apart from time, there are no further specific requirements.

The Installation HOWTO contains helpful information on how to obtain Linux software and install it on your computer. Hardware requirements and coexistence with other operating systems are also discussed.

CD images can be downloaded from linux-iso.com and many other locations, see .

An interesting alternative for those who don't dare to take the step of an actual Linux installation on their machine are the Linux distributions that you can run from a CD, such as the Knoppix distribution.

### Conventions used in this document

The following typographic and usage conventions occur in this text:

#### Typographic and usage conventions

Text type | Meaning
--- | ---
Quoted text | Quotes from people, quoted computer output.

    terminal view

Literal computer input and output captured from the terminal, usually rendered with a light grey background.

`command` | Name of a command that can be entered on the command line.
`VARIABLE` | Name of a variable or pointer to content of a variable, as in `$VARNAME`.
`option` | Option to a command, as in the `-a` option to the `ls` command.
`argument` | Argument to a command, as in read `man `ls`` .
prompt | User prompt, usually followed by a command that you type in a terminal window, like in hilda@home> `ls `-l``

                                        command options
                                            arguments

Command synopsis or general usage, on a separated line.

`filename` | Name of a file or directory, for example Change to the `/usr/bin` directory.
Key | Keys to hit on the keyboard, such as type Q to quit.
Button | Graphical button to click, like the OK button.
Menu Choice | Choice to select from a graphical menu, for instance: Select Help About Mozilla in your browser.
Terminology | Important term or concept: The Linux kernel is the heart of the system.

    \

The backslash in a terminal view or command synopsis indicates an unfinished line. In other words, if you see a long command that is cut into multiple lines, \ means Don't press Enter yet!

See | link to related subject within this guide.
The author | Clickable link to an external web resource.

The following images are used:

#### This is a note

It contains additional information or remarks.

#### This is a caution

It means be careful.

#### This is a warning

Be very careful.

#### This is a tip

Tips and tricks.

### Organization of this document

This guide is part of the Linux Documentation Project and aims to be the foundation for all other materials that you can get from the Project. As such, it provides you with the fundamental knowledge needed by anyone who wants to start working with a Linux system, while at the same time it tries to consciously avoid re-inventing the hot water. Thus, you can expect this book to be incomplete and full of links to sources of additional information on your system, on the Internet and in your system documentation.

The first chapter is an introduction to the subject on Linux; the next two discuss absolute basic commands. Chapters 4 and 5 discuss some more advanced but still basic topics. Chapter 6 is needed for continuing with the rest, since it discusses editing files, an ability you need to pass from Linux newbie to Linux user. The following chapters discuss somewhat more advanced topics that you will have to deal with in everyday Linux use.

All chapters come with exercises that will test your preparedness for the next chapter.

- : What is Linux, how did it come into existence, advantages and disadvantages, what does the future hold for Linux, who should use it, installing your computer.

- : Getting started, connecting to the system, basic commands, where to find help.

- : The filesystem, important files and directories, managing files and directories, protecting your data.

- : Understanding and managing processes, boot and shutdown procedures, postponing tasks, repetitive tasks.

- : What are standard input, output and error and how are these features used from the command line.

- : Why you should learn to work with an editor, discussion of the most common editors.

- : Configuring your graphical, text and audio environment, settings for the non-native English speaking Linux user, tips for adding extra software.

- : Converting files to a printable format, getting them out of the printer, hints for solving print problems.

- : Preparing data to be backed up, discussion of various tools, remote backup.

- : Overview of Linux networking tools and user applications, with a short discussion of the underlying service daemon programs and secure networking.

- : Sound and video, including Voice over IP and sound recording is discussed in this chapter.

- : Which books to read and sites to visit when you have finished reading this one.

- : A comparison.

- : If you ever get stuck, these tables might be an outcome. Also a good argument when your boss insists that YOU should use HIS favorite shell.

&chap1; &chap2; &chap3; &chap4; &chap5; &chap6; &chap7; &chap8; &chap9; &chap10; &chap11; &app1; &app2; &app3; &gloss;