www.ScienceOfAtomics.com/linux
Linux Documentation
A huge selection of quality information

•  HOME  •  THEORY  •  PRACTICE  •    •  LOGIN  •  FORUM  •  CONTACT  • 

INTRODUCTION

Linux is undoubtedly the most comprehensively documented Operating System (OS) in the world. A large amount of essential documentation is automatically included in almost every distro; evenmore is not installed but readily available, and the rest must be accessed according to need. This page assumes that, as a Newcomer to Linux and Microsoft Windows User, you've become accustomed to "working in the dark", trying to discover essential information that M$ doesn't want you to know. You're probably also too familiar with online "Call Centres" that are often quite useless. All information about Linux is free and readily available if you know where to look. Some is "User-friendly", some is incomprehensibly technical, much lies somewhere in between, and just a little understanding goes a long way.

The purpose of this page is to tell you where to look for information. If you're prepared to spend a minimum amount of time and effort in understanding some simple concepts, you'll very soon be able to accept responsibility for your own computer and the way it works. You may not be able to fix every problem immediately, but you'll quickly discover where to find information, who to ask for assistance, and what constitutes a reasonable charge for technical work on the few occasions that this might be necessary.

Deciding what information is needed

Let's look at the most common types of information that are needed by Newcomers:

  1. Preparing for a new installation. Read this page, follow its instructions, and you should have few or no problems with your first installation of Linux.
  2. Help with a new installation. If you're trying to install Linux, or a new installation has gone wrong, the best sources of assistance are online discussion forums. Of course, this isn't much use if your only computer isn't working, so try to avoid this situation by preparing properly beforehand. Installation problems usually involve unusual or faulty hardware, and most can be recovered from with correct preparation. In the worst case, you should be prepared to abandon your installation and re-install your previous operating system, but this is most unusual.
  3. Configuring a new installation. If your new installation is up and running, but some features are not working properly, the best sources of assistance again are the online discussion forums. Alternatives are the documentation sources on this page specific to your needs.
  4. Installing new applications. Once your new installation is configured and running to your liking, additional applications can be installed. See below for more on this.
  5. Learning about Linux. If you're simply interested to know more about Linux and the many options available to you, read on.

SOURCES OF HELP AND INFORMATION

Clicking the headings below jumps forther down the page to more information.

  1. The help command
    There is a "help" command in Linux, but it comes from the earliest days of Unix and is of very little use to Newcomers.
  2. Man pages
    The man (manual) pages are the primary source of system documentation and are accessed from the commandline. Most man pages are definitive, not explanatory; that is, they provide a terse summary of the topic, or a command and its options, but little or no explanation of its use (see HOWTOs for this). This is deliberate, since their main function is as a working reference for those who know the basics but have forgotten (or never read) the details. At the end of most man pages are references to other material, so always check them first.
  3. Info pages
    The info pages are also accessed from the commandline but use a more modern format. They revert to man pages where an info page is not present, making the info command a good first try.
  4. Installed documentation
    Most packages install their own documentation on the hard disk. Simple applications and system utilties usually install man or info pages, but larger packages place documentation in a variety of places, most often in the /usr/share/doc/ directory.
  5. HOWTOs
    HOWTOs are the primary explanatory and tutorial reference for the Linux platform, and are generally distributed in HTML format for easy reading in web browsers. Some distros install them, many do not, but they can easily be downloaded as a complete package from the LDP website.
  6. The LDP
    The Linux Documentation Project develops free, high-quality documentation for the GNU/Linux operating system. The overall goal of the LDP is to collaborate in all of the issues of Linux documentation, and to establish a system of documentation for Linux that will be easy to use and search, including the integration of the manual pages, info docs, HOWTOs,and other documents. See www.tlpd.org
  7. FAQs
    Frequently Asked Questions on a wide range of topics are available from many sources. When searching for information on common topics, always look for and read any FAQs that are available.
  8. Newsgroups
    Newsgroups and IRC chat groups are an invaluable way of learning about Linux and keeping up with new developments. The Freenode website (freenode.net) is the largest Linux IRC site.
  9. LUGs
    Linux User Groups have been formed in almost every country of the world. See www.linux.org/groups for a list.
  10. Search Engines
    Google has a dedicated Linux Search Facility at www.google.com/linux
  11. Dedicated Websites
    Pick your topic, find a site ...
  12. Source Code
    Difficult or highly technical questions are best answered by reference to the Source Code. Sourceforge.net is probably the oldest code source site, but there are many others.

THE help COMMAND

The help command dates from the earliest days of Unix and describes the "bash built-in commands". Bash is one of many Unix shells and has a number of commands built into it. A few, such as those to change directories (cd) and display basic parameters (set) are easy to understand and use, but most are only needed for low-level system information and control. Invoking "help" at the commandline:

$> help

lists the builtin commands, and "help" followed by one of these gives a terse explanation:

$> help logout
logout: logout
    Logout of a login shell.
$>

Here is a comma-separated list of bash's builtin commands. Note that period (.) colon (:) and left bracket ([) are valid commands, as is bash itself.

. : [ alias bash bg bind break builtin cd command compgen complete continue declare dirs disown echo enable eval exec exit export fc fg getopts hash help history jobs kill let local logout popd printf pushd pwd read readonly return set shift shopt source suspend test times trap type typeset ulimit umask unalias unset wait

THE man PAGES

The best way to learn about the man pages is to invoke:
$> man man

Man pages are displayed by the less file viewer. To exit less just hit the q key. To learn more about less invoke:
$> man less

The original Unix textfile viewer is named more (see man more) but has very limited capabilities, whilst less is much more powerful, as a reading of the man less page soon shows. Another useful pager is pg

To list all entries for a keyword, the man -f option is equivalent to whatis and lists all entries with the topic name:

$> whatis history
history (3) - GNU History Library
history [builtins] (1) - bash built-in commands, see bash(1)
history (n) - Manipulate the history list

If you are uncertain as to the exact topic, the man -k option is equivalent to apropos and lists all entries and descriptions containing the keyword:

$> apropos history
history (3) - GNU History Library
history [builtins] (1) - bash built-in commands, see bash(1)
history (n) - Manipulate the history list
perlhist (1) - the Perl history records
roff (7) - concepts and history of roff typesetting

Table 1 Sections of the man pages.
1User programs.
2System calls.
3Library calls.
4Special (device) files.
5File formats.
6Games.
7Miscellaneous.
8System administration.
9Kernel documentation.
nNew pages.

The numbers in parentheses refer to the section as given in the table at right, and can be used in the command invocation to specify the required man section. Invoking

$> man history

will display the page from section 1, whereas

$> man 3 history

will display the section 3 page.

The -a option will display all relevant pages in sequence.

The -w switch lists the location of the first file referenced:

$> man -w history
/usr/share/man/man1/builtins.1.gz

whilst the -aw switch lists the location of all files referenced:

$> man -aw history
/usr/share/man/man1/builtins.1.gz
/usr/share/man/man3/history.3.gz
/usr/share/man/mann/history.n.gz

The -w switch without a keyword lists the search path for man pages as a colon-separated list:

$> man -w
/usr/local/share/man:/usr/share/man:/usr/X11R6/man:/usr/local/man

A listing of the /usr/share/man/ directory shows that each man section is located in a separate directory, as are pages in other languages:

$> ls /usr/share/man
cs  de_DE  fr_FR  id  ja    man2  man4  man6  man8  mann  pt_BR  sk
de  fr     hu     it  man1  man3  man5  man7  man9  pl    ru     sv

Get into the habit of using a man search whenever you are uncertain about something, since the man pages are an invaluable information resource.

THE info PAGES

The info command is a much enhanced successor to man and has documentation available by invoking:

$> info info

Info has its own set of pages, but is not as ubiquitous as man. However, if not info page exists, it will search the man pages for any keyword given and display the first match. The GNU Project distributes most of its documentation as info files, and to some degree the info format is intended to replace the man pages, at least for new documentation; but the man pages are such an intrinsinc part of Unix/Linux that they are unlikely to disappear.

If you can't find a topic in the man pages, info is the next place to try.

INSTALLED DOCUMENTATION

Most packages install their own documentation on the hard disk. Simple applications and system utilties usually install man or info pages, but larger packages place documentation in a variety of places. The best way to find documentation for a package is to use the rpm command to list either the documentation or all files in the package:

$> rpm -qd package_name lists the package's documentation files and their location.

$> rpm -ql package_name | less lists all files of the package in the event that no documentation is listed.

Because installed documentation is usually placed in one of the doc directories, the following command can be used as a general search:

$> ls -ld /usr/*/doc /usr/*/*/doc /usr/share/*/*/doc /opt/*/doc /opt/*/*/doc

On a standard RedHat system this will produce:

/usr/X11R6/doc             /usr/share/vim/vim57/doc
/usr/lib/X11/doc           /usr/share/doc
/usr/local/doc             /usr/share/gphoto/doc
/usr/share/texmf/doc       /usr/share/lout/doc

HOWTOs

The man and info pages are intended as definitive technical reference documentation, and are deliberately concise, even terse. This is both desirable and necessary for technical users who require immediate access to minimal but accurate data without wading through pages of unnecessary explanation. The majority of ordinary users, however, do require expanded explanations and examples for unfamiliar concepts and material. This requirement is met by the HOWTO pages. Some distros (Slackware and TurboLinux for example) include the HOWTOs, whereas others (RedHat, Mandrake and Fedora) may not.

The HOWTOs can be downloaded from the Linux Documentation Project (LDP) at www.linuxdoc.org

The overall goal of the LDP is to collaborate in all of the issues of Linux documentation, and to establish a system of documentation for Linux that will be easy to use and search, including the integration of the manual pages, info docs, HOWTOs,and other documents.

FAQs

Frequently Asked Questions on a wide range of topics are available from many sources. When searching for information on common topics, always look for and read any FAQs that are available.

NEWSGROUPS

Newsgroups and IRC chat groups are an invaluable way of learning about Linux and keeping up with new developments.

LINUX USER GROUPS - LUGs

Linux User Groups have been formed in almost every country of the world. See www.linux.org/groups for a comprehensive and up-to-date list, and at least subscribe to the email newsletter of a nearby LUG. This is the quickest and cheapest way of getting help with a problem and finding others with similar interests.

SEARCH ENGINES

Intelligent use of the many Internet search engines can turn up a large amount of useful information. Google has a dedicated Linux Search Facility at www.google.com/linux

WEBSITES

The Links Pages on this website contain categorized lists of websites on almost every Linux-related topic.

SOURCE CODE

This is where Linux and other Open Source products have an incomparable advantage over proprietary products. Source code files are the human-readable input files that create executable and library files ("programs") and are replete with documentation. Newcomers will not need this resource, but those looking for solutions to difficult technical problems find them invaluable.