Introduction to Linux

A Hands on Guide

Machtelt Garrels

Garrels.be


                        
                    

20080606


Table of Contents

Introduction
1. Why this guide?
2. Who should read this book?
3. New versions and availability
4. Revision History
5. Contributions
6. Feedback
7. Copyright information
8. What do you need?
9. Conventions used in this document
10. Organization of this document
1. What is Linux?
1. History
1.1. UNIX
1.2. Linus and Linux
1.3. Current application of Linux systems
2. The user interface
2.1. Is Linux difficult?
2.2. Linux for non-experienced users
3. Does Linux have a future?
3.1. Open Source
3.2. Ten years of experience at your service
4. Properties of Linux
4.1. Linux Pros
4.2. Linux Cons
5. Linux Flavors
5.1. Linux and GNU
5.2. GNU/Linux
5.3. Which distribution should I install?
6. Summary
7. Exercises
2. Quickstart
1. Logging in, activating the user interface and logging out
1.1. Introduction
1.2. Graphical mode
1.3. Text mode
2. Absolute basics
2.1. The commands
2.2. General remarks
2.3. Using Bash features
3. Getting help
3.1. Be warned
3.2. The man pages
3.3. More info
4. Summary
5. Exercises
5.1. Connecting and disconnecting
5.2. Passwords
5.3. Directories
5.4. Files
5.5. Getting help
3. About files and the file system
1. General overview of the Linux file system
1.1. Files
1.2. About partitioning
1.3. More file system layout
2. Orientation in the file system
2.1. The path
2.2. Absolute and relative paths
2.3. The most important files and directories
2.4. The most important configuration files
2.5. The most common devices
2.6. The most common variable files
3. Manipulating files
3.1. Viewing file properties
3.2. Creating and deleting files and directories
3.3. Finding files
3.4. More ways to view file content
3.5. Linking files
4. File security
4.1. Access rights: Linux's first line of defense
4.2. The tools
5. Summary
6. Exercises
6.1. Partitions
6.2. Paths
6.3. Tour of the system
6.4. Manipulating files
6.5. File permissions
4. Processes
1. Processes inside out
1.1. Multi-user and multi-tasking
1.2. Process types
1.3. Process attributes
1.4. Displaying process information
1.5. Life and death of a process
1.6. SUID and SGID
2. Boot process, Init and shutdown
2.1. Introduction
2.2. The boot process
2.3. GRUB features
2.4. Init
2.5. Init run levels
2.6. Shutdown
3. Managing processes
3.1. Work for the system admin
3.2. How long does it take?
3.3. Performance
3.4. Load
3.5. Can I do anything as a user?
4. Scheduling processes
4.1. Use that idle time!
4.2. The sleep command
4.3. The at command
4.4. Cron and crontab
5. Summary
6. Exercises
6.1. General
6.2. Booting, init etc.
6.3. Scheduling
5. I/O redirection
1. Simple redirections
1.1. What are standard input and standard output?
1.2. The redirection operators
2. Advanced redirection features
2.1. Use of file descriptors
2.2. Examples
3. Filters
3.1. More about grep
3.2. Filtering output
4. Summary
5. Exercises
6. Text editors
1. Text editors
1.1. Why should I use an editor?
1.2. Which editor should I use?
2. Using the Vim editor
2.1. Two modes
2.2. Basic commands
2.3. The easy way
3. Linux in the office
3.1. History
3.2. Suites and programs
3.3. Remarks
4. Summary
5. Exercises
7. Home sweet /home
1. General good housekeeping
1.1. Introduction
1.2. Make space
2. Your text environment
2.1. Environment variables
2.2. Shell setup files
2.3. A typical set of setup files
2.4. The Bash prompt
2.5. Shell scripts
3. The graphical environment
3.1. Introduction
3.2. The X Window System
3.3. X server configuration
4. Region specific settings
4.1. Keyboard setup
4.2. Fonts
4.3. Date and time zone
4.4. Language
4.5. Country-specific Information
5. Installing new software
5.1. General
5.2. Package formats
5.3. Automating package management and updates
5.4. Upgrading your kernel
5.5. Installing extra packages from the installation CDs
6. Summary
7. Exercises
7.1. Shell environment
7.2. Graphical environment
8. Printers and printing
1. Printing files
1.1. Command line printing
1.2. Formatting
2. The server side
2.1. General
2.2. Graphical printer configuration
2.3. Buying a printer for Linux
3. Print problems
3.1. Wrong file
3.2. My print hasn't come out
4. Summary
5. Exercises
9. Fundamental Backup Techniques
1. Introduction
1.1. Preparing your data
2. Moving your data to a backup device
2.1. Making a copy on a floppy disk
2.2. Making a copy with a CD-writer
2.3. Backups on/from jazz drives, USB devices and other removables
2.4. Backing up data using a tape device
2.5. Tools from your distribution
3. Using rsync
3.1. Introduction
3.2. An example: rsync to a USB storage device
4. Encryption
4.1. General remarks
4.2. Generate a key
4.3. About your key
4.4. Encrypt data
4.5. Decrypting files
5. Summary
6. Exercises
10. Networking
1. Networking Overview
1.1. The OSI Model
1.2. Some popular networking protocols
2. Network configuration and information
2.1. Configuration of network interfaces
2.2. Network configuration files
2.3. Network configuration commands
2.4. Network interface names
2.5. Checking the host configuration with netstat
2.6. Other hosts
3. Internet/Intranet applications
3.1. Server types
3.2. Mail
3.3. Web
3.4. File Transfer Protocol
3.5. Chatting and conferencing
3.6. News services
3.7. The Domain Name System
3.8. DHCP
3.9. Authentication services
4. Remote execution of applications
4.1. Introduction
4.2. Rsh, rlogin and telnet
4.3. The X Window System
4.4. The SSH suite
4.5. VNC
4.6. The rdesktop protocol
4.7. Cygwin
5. Security
5.1. Introduction
5.2. Services
5.3. Update regularly
5.4. Firewalls and access policies
5.5. Intrusion detection
5.6. More tips
5.7. Have I been hacked?
5.8. Recovering from intrusion
6. Summary
7. Exercises
7.1. General networking
7.2. Remote connections
7.3. Security
11. Sound and Video
1. Audio Basics
1.1. Installation
1.2. Drivers and Architecture
2. Sound and video playing
2.1. CD playing and copying
2.2. Playing music files
2.3. Recording
3. Video playing, streams and television watching
4. Internet Telephony
4.1. What is it?
4.2. What do you need?
5. Summary
6. Exercises
A. Where to go from here?
1. Useful Books
1.1. General Linux
1.2. Editors
1.3. Shells
1.4. X Window
1.5. Networking
2. Useful sites
2.1. General information
2.2. Architecture Specific References
2.3. Distributions
2.4. Software
B. DOS versus Linux commands
C. Shell Features
1. Common features
2. Differing features
Glossary
Index

List of Figures

1. Introduction to Linux front cover
1.1. OpenOffice MS-compatible Spreadsheet
2.1. Terminal window
2.2. Konqueror as help browser
3.1. Linux file system layout
3.2. Hard and soft link mechanism
4.1. Fork-and-exec mechanism
4.2. Can't you go faster?
4.3. Gnome System Monitor
8.1. Printer Status through web interface
9.1. Floppy formatter
10.1. Evolution mail and news reader
10.2. X-Chat
10.3. SSH X11 forwarding
11.1. XMMS mp3 player

List of Tables

1. Typographic and usage conventions
2.1. Quickstart commands
2.2. Key combinations in Bash
2.3. New commands in chapter 2: Basics
3.1. File types in a long list
3.2. Subdirectories of the root directory
3.3. Most common configuration files
3.4. Common devices
3.5. Color-ls default color scheme
3.6. Default suffix scheme for ls
3.7. Access mode codes
3.8. User group codes
3.9. File protection with chmod
3.10. New commands in chapter 3: Files and the file system
3.11. File permissions
4.1. Controlling processes
4.2. Common signals
4.3. New commands in chapter 4: Processes
5.1. New commands in chapter 5: I/O redirection
7.1. Common environment variables
7.2. New commands in chapter 7: Making yourself at home
8.1. New commands in chapter 8: Printing
9.1. New commands in chapter 9: Backup
10.1. The simplified OSI Model
10.2. New commands in chapter 10: Networking
11.1. New commands in chapter 11: Audio
B.1. Overview of DOS/Linux commands
C.1. Common Shell Features
C.2. Differing Shell Features