Docs/Drafts/CommandLineSurvivalGuide

'''This is currently stopped due to other work that I have. If anyone is willing to take over, feel free to do it. I will likely resume working on it in time for Fedora 14.'''

Documentation Summary:

Purpose: Document describing theory of the command line and how to perform common tasks.

Audience: Novice end-users needing to use the command line.

Assumptions: The reader has access to a Fedora installation, but no particular type may be assumed. The reader has a user account with the default settings. The reader may have access to the root password.

Related Documents: not yet sure...

Lead Writer: Vedran Miletić (User:vedranm) (initial work done by JamesMcElhannon)

There are 5 chapters shown below, with the sections numbered. The Concepts chapter sets forth just enough theory to be able to use the commands below.

The Scenario chapter would put forth some common scenarios that people would be faced with. The text would describe the usage of a set of commands to perform a task, cross referenced to the Commonly Used Commands section.

The Commonly Used Commands, in the long run, would not be a reproduction of the man pages, but would instead focus on the common usage of the command.

The Tools would section would be brief scripts to make some things easier. I would expect that the details of this section would arise during the writing of the rest of the text. Any redundant operations shown during the Scenarios would be candidates.

Sections
Pages for individual chapters:


 * Docs/Drafts/CommandLineSurvivalGuide/Introduction
 * Docs/Drafts/CommandLineSurvivalGuide/Concepts
 * Docs/Drafts/CommandLineSurvivalGuide/Scenarios
 * Docs/Drafts/CommandLineSurvivalGuide/CommonlyUsedCommands
 * Docs/Drafts/CommandLineSurvivalGuide/Tools

Summary of Sections
Brief descriptions of the chapters:

Introduction

 * Understanding the Command-line Environment
 * Running Commands
 * How Logging Works

Concepts

 * Linux File System
 * Working with Files and Directories
 * Working with Text Files
 * Working with Archives
 * Understanding Linux Security
 * Connecting Commands Together
 * Input and Output Redirection
 * Discovering Commands and Shell Completion
 * Customizing the Command-Line Environment

Scenarios

 * Executables and Proceses
 * /proc and /sys File Systems
 * Everything is a File
 * Mounting File Systems
 * Linux and non-Linux File Systems
 * Automating and Composing Commands as Scripts

Commonly Used Commands
Anything that doesn't fit anywhere else: basename, cut, find, finger, locate, ping, rpm, su, sudo, traceroute, uname, whatis, whereis, who, whoami, xargs...

Tools
Stuff like mc and irssi.

Feedback from StuartEllis 2006-05-01
This is a very general suggestion - it may be helpful to phrase the "Concepts" headings in terms of tasks, since a new user may not strongly associate the technical features with what they actually do. Some features also relate to more one technology, e.g. a new user who has just read about permissions may be puzzled by "permission denied" messages unless there is at least a mention of SELinux.

This example is just off the top of my head:

Concepts:
 * 1) Understanding the Command-line Environment
 * 2) Running Commands
 * 3) How Logging Works
 * 4) Automating Commands as Scripts
 * 5) Understanding Linux Security
 * 6) Connecting Commands Together
 * 7) Discovering Commands
 * 8) Customizing Your Command-line Environment

Section 7 doesn't appear in your ToC - the idea is that if you explain how to discover useful commands, you could focus on only describing a small set of commands yourself, with a clean conscience, rather than feeling obliged to select and cover many. Teach 'em how to fish :).

The GNOME desktop help browser in FC5 displays man and info documentation, so the documentation for the hundreds of commands on the system is accessible, but a new user may need pointers to how to locate what they need. The apropos command also enables users to find the right utility, once they are aware of it.