Slackware Linux Essentials: Tutorial 02

Chapter 2 Help
Table of Contents
2.1 System Help
2.2 Online Help

Often there are times when you might need help with a specific command, setting up a program, or getting a piece of hardware to work. Maybe you simply want to understand a given command better, or see what other options are available to use with it. Luckily, there are a variety of ways that you can get the help you're looking for. When you install Slackware you have the option of installing packages from the “F” series which includes FAQs and HOWTOs. Programs also come with help about their options, configuration files, and usage.

2.1 System Help
2.1.1 man
The man command (short for “manual”) is the traditional form of online documentation in Unix and Linux operating systems. Comprised of specially formatted files, the “man pages”, are written for the vast majority of commands and are distributed with the software itself. Executing man somecommand will display the man page for (naturally) the command specified, in our example this would be the imaginary program somecommand.

As you might imagine, the amount of man pages can quickly add up, becoming overly confusing and seriously complicated, even for an advanced user. So, for this reason, man pages are grouped into enumerated sections. This system has been around for a very long time; enough so that you will often see commands, programs, and even programming library functions referred to with their man section number.

For example:

You might see a reference to man(1). The numbering tells you that “man” is documented in section 1 (user commands); you can specify that you want the section 1 man page for “man” with the command man 1 man. Specifying the section that man should look in is useful in the case of multiple items with the same name.

Table 2-1. Man Page Sections

Section Contents
Section 1 user commands (intro only)
Section 2 system calls
Section 3 C library calls
Section 4 devices (e.g., hd, sd)
Section 5 file formats and protocols (e.g., wtmp, /etc/passwd, nfs)
Section 6 games (intro only)
Section 7 conventions, macro packages, etc. (e.g., nroff, ascii)
Section 8 system administration (intro only)

In addition to man(1), there are the commands whatis(1) and apropos(1) available to you, whose shared purpose is to make it easier to find information in the man system.

The command whatis gives a very brief description of system commands, somewhat in the style of a pocket command reference.

Example:

% whatis whatis
whatis (1) - search the whatis database for complete words


The command apropos is used to search for a man page containing a given keyword.

Example:

% apropos wav
cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
netwave_cs (4) - Xircom Creditcard Netwave device driver
oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
wavelan (4) - AT&T GIS WaveLAN ISA device driver
wavelan_cs (4) - AT&T GIS WaveLAN PCMCIA device driver
wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver


If you'd like further information on any of these commands, read their man pages for the details. ;)

2.1.2 The /usr/doc Directory
The source for most packages that we build comes with some sort of documentation: README files, usage instructions, license files, etc. Any sort of documentation that comes with the source is included and installed on your system in the /usr/doc directory. Each program will (usually) install its own documentation in the order of:

/usr/doc/$program-$version

Where $program is the name of the program you are wanting to read about, and $version is (obviously) the appropriate version of software package installed on your system.

For example, to read the documentation for the command man(1) you would want to cd to:

% cd /usr/doc/man-$version


If reading the appropriate man page(s) doesn't provide you with enough information, or address what you're looking for in particular, the /usr/doc directory should be your next stop.

2.1.3 HOWTOs and mini-HOWTOs
It is in the truest spirit of the Open Source community that brings us to the HOWTO/mini-HOWTO collection. These files are exactly what they sound like - documents and guides describing how to do stuff. If you installed the HOWTO collection, the HOWTOs will be installed to /usr/doc/Linux-HOWTOs and the mini-HOWTOs to /usr/doc/Linux-mini-HOWTOs.

Also included in the same package series is a collection of FAQs, which is an acronym which stands for

Frequently
Asked
Questions

These documents are written in a “Question and answer” style for (surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look if you're just looking for a “Quick Fix” to something. If you decide to install the FAQs during setup, you will find them installed to the /usr/doc/Linux-FAQs directory.

These files are well worth reading whenever you're not quite sure how to proceed with something. They cover an amazing range of topics, more often than not in a surprisingly detailed manner. Good stuff!

http://www.slackbook.org/html/help.html

Slackware Linux Essentials: Tutorial 01

Chapter 1: An Introduction to Slackware Linux

Table of Contents
1.1 What is Linux?
1.2 What is Slackware?
1.3 Open Source and Free Software
1.1 What is Linux?

Linus Torvalds started Linux, an operating system kernel, as a personal project in 1991. He started the project because he wanted to run a Unix-based operating system without spending a lot of money. In addition, he wanted to learn the ins and outs of the 386 processor. Linux was released free of charge to the public so that anyone could study it and make improvements under the General Public License. (See Section 1.3 and Appendix A for an explanation of the license.) Today, Linux has grown into a major player in the operating system market. It has been ported to run on a variety of system architectures, including HP/Compaq's Alpha, Sun's SPARC and UltraSPARC, and Motorola's PowerPC chips (through Apple Macintosh and IBM RS/6000 computers.) Hundreds, if not thousands, of programmers all over the world now develop Linux. It runs programs like Sendmail, Apache, and BIND, which are very popular software used to run Internet servers. It's important to remember that the term “Linux” really refers to the kernel - the core of the operating system. This core is responsible for controlling your computer's processor, memory, hard drives, and peripherals. That's all Linux really does: It controls the operations of your computer and makes sure that all of its programs behave. Various companies and individuals bundle the kernel and various programs together to make an operating system. We call each bundle a Linux distribution.

1.1.1 A Word on GNU
The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as Isaac Newton once said, “If I have seen further, it is by standing on the shoulders of giants.” When Linus Torvalds began the kernel the Free Software Foundation had already established the idea of collaborative software. They entitled their effort GNU, a recursive acronym that means simply “GNU's Not Unix”. GNU software ran atop the Linux kernel from day 1. Their compiler gcc was used to compile the kernel. Today many GNU tools from gcc to gnutar are still at the basis of every major Linux distribution. For this reason many of the Free Software Foundation's proponents fervently state that their work should be given the same credit as the Linux kernel. They strongly suggest that all Linux distributions should refer to themselves as GNU/Linux distributions.

This is the topic of many flamewars, surpassed only by the ancient vi versus emacs holy war. The purpose of this book is not to fan the fires of this heated discussion, but rather to clarify the terminology for neophytes. When one sees GNU/Linux it means a Linux distribution. When one sees Linux they can either be referring to the kernel, or to a distribution. It can be rather confusing. Typically the term GNU/Linux isn't used because it's a mouth full.

http://www.slackbook.org/html/introduction.html