Getting Started with GNU/Linux

Jon Beck

Don Bindner

Caleb Jorden

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of the license is included in the section entitled "GNU General Public License."


Table of Contents
1. Introduction
The Linux Kernel
The Unix Filesystem
The Shell
2. Getting Started
Logging in
Logging out
Starting the X Window System
3. Working with Files and Directories
Getting information about files
Displaying information in a file
Creating and using directories
File security
Users and groups
File types
Permissions for regular files
Permissions for directories
Default permissions
4. Managing Your Working Environment
Environment variables
Common environment variables
Changing .bashrc
5. Editing Files with Vi
Modal editing
Starting Vi
Stopping Vi
Common tasks
Gaining proficiency
Endorsement
6. Editing Files with Emacs
Important Emacs commands
7. Working Within the Truman Network
Retrieving and saving files with Samba
Accessing Windows shares with smbclient
Accessing Windows shares using smbmount
Connecting to other computers using SSH
Transferring files with SSH tools
Transferring files with sftp
Transferring files with scp
Using the Truman VPN from Linux
Basic VPN setup
Advanced routing with VPN
8. Finding Things on a Linux system
Directory structure on a Linux system
Programs for finding files
Finding files with grep
Finding files with locate
Finding files with whereis and which
Finding files with find
Programs for finding people
Listing who is currently logged on
Finding information about an individual
9. Managing Jobs and Processes
Processes
The ps command
Job control
Foreground and background
Working with jobs
Putting a foreground job into the background
10. The X11 Graphical Environment
The X Window System as a network application
Simple X11 display forwarding
X display forwarding with SSH
Customizing the keyboard map
Mapping single keys with xmodmap
Mapping the entire keyboard with xmodmap
Other customizations and information about using xmodmap
11. Documentation and Help
Man pages
The Texinfo system
Other sources of help
Getting help from programs themselves
Miscellaneous documentation
The power of Google
12. Getting GNU/Linux for Yourself
Distributions
Installation
Loading a kernel
Partitioning a hard disk
Installing packages and setting up the system
Making the computer boot
Keeping current
13. Summary of useful commands
A. Advanced: Customizing file associations with ~/.mailcap
Motivation
Helper scripts
Editing ~/.mailcap
Lesson 1 - PDF files
Lesson 2 - HTML files
Finishing up
Other resources
B. Advanced: Password-less Authentication With SSH
Generating SSH keys
Creating an authorized_keys2 file.
Using ssh-agent
Killing ssh-agent
C. Advanced: Off-site Email Using SSH
Forwarding ports
Configuring your email client
Disconnecting the tunnel
D. GNU General Public License
Preamble
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
Section 0
Section 1
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7
Section 8
Section 9
Section 10
NO WARRANTY Section 11
Section 12
How to Apply These Terms to Your New Programs
Index
List of Tables
3-1. File type designations
6-1. Important Emacs Commands:
7-1. smbclient commands
7-2. sftp commands
13-1. Commands:
List of Examples
1-1. Typing a command in the shell
3-1. Basic ls command
3-2. A long file listing
3-3. A file listing with wildcards
3-4. Using the file command
3-5. Displaying an account's group memberships
3-6. Long listing with permissions
3-7. Using chmod to change the mode of a file
3-8. Using chmod to change the mode of a directory
3-9. Using umask to set the file creation mask
4-1. Shell variable assignment
4-2. Exporting variables in the shell
7-1. Connecting to the U: drive with smbclient
7-2. Navigating in smbclient
7-3. Mounting a Windows share
7-4. Unmounting a Windows share
7-5. Basic ssh example
7-6. Using ssh with a different remote username
7-7. Get and put with sftp
7-8. Copying with scp
7-9. /etc/vpnc/default.conf
8-1. Printing the home directory
8-2. Finding text with grep
8-3. Finding with locate
8-4. Using whereis and which
8-5. Finding a file with find
8-6. Finding out who is logged on
8-7. Using the last command
8-8. Who am I?
8-9. Fingering a single account
8-10. Grepping for finger information
9-1. Basic ps invocation
9-2. Running ps with x option
9-3. Running a background task
9-4. Suspending a task
9-5. Running and suspending a second task
9-6. Listing jobs
9-7. Resuming a job
9-8. Moving a job to the background
10-1. Invoking X with the -query option
10-2. Viewing the DISPLAY variable
10-3. Forwarding X11 via SSH
10-4. Assigning one key with xmodmap
10-5. Assigning an accented character to the keyboard
10-6. Saving the current key map
10-7. Changing the entire key map
11-1. Viewing the ls man page
11-2. Learning about the stand-alone info browser
11-3. Getting help from the gzip program
11-4. Viewing the mutt user manual.
B-1. Generating a key pair.
B-2. Making authorized_keys2
B-3. Invoking ssh-agent and loading a key
C-1. email-tunnel.sh