added indexterms

This commit is contained in:
tille 2006-10-18 09:08:20 +00:00
parent 3a4033320f
commit 9a32a24b86
3 changed files with 318 additions and 319 deletions

View File

@ -39,7 +39,7 @@ fits me?
In order to understand the popularity of Linux, we need to travel back in time,
about 30 years ago...
</para>
<para>Imagine computers as big as houses, even stadiums. While the sizes of
<para>Imagine computers<indexterm><primary>Linux</primary><secondary>origin</secondary></indexterm> as big as houses, even stadiums. While the sizes of
those computers posed substantial problems, there was one thing that made this
even worse: every computer had a different operating system. Software was
always customized to serve a specific purpose, and software for one given system
@ -54,7 +54,7 @@ worked. The total cost per unit of computing power was enormous.
<para>Technologically the world was not quite that advanced, so they had to live
with the size for another decade. In 1969, a team of developers in the Bell
Labs laboratories started working on a solution for the software problem, to
address these compatibility issues. They developed a new operating system,
address these compatibility issues. They developed a new operating<indexterm><primary>UNIX</primary><secondary>origin</secondary></indexterm> system,
which was
</para>
<orderedlist>
@ -103,7 +103,7 @@ UNIX available for the PC architecture, but none of them were truly free and mor
</sect2>
<sect2 id="sect_01_01_02"><title>Linus and Linux</title>
<para>By the beginning of the 90s home PCs were finally powerful enough to run a full blown UNIX. Linus Torvalds, a young man studying computer science at the university of
<para>By the beginning of the 90s home PCs were finally powerful enough to run a full blown UNIX. Linus<indexterm><primary>Linus</primary><secondary>creator</secondary></indexterm> Torvalds, a young man studying computer science at the university of
Helsinki, thought it would be a good idea to have some sort of freely available
academic version of UNIX, and promptly started to code.
</para>
@ -123,7 +123,7 @@ standard definition. Could somebody please point me to a (preferably)
machine-readable format of the latest posix rules? Ftp-sites would be
nice.
</screen>
<para>From the start, it was Linus' goal to have a free system that was
<para>From the start, it was Linus' goal to have a free system<indexterm><primary>Linux</primary><secondary>goals</secondary></indexterm> that was
completely compliant with the original UNIX. That is why he asked for POSIX
standards, POSIX still being the standard for UNIX.
</para>
@ -155,7 +155,7 @@ support - eventhough there is still a lot of hard- and software that is not supp
<sect2 id="sect_01_01_03">
<title>Current application of Linux systems</title>
<para>Today Linux has joined the desktop market. Linux developers concentrated
<para>Today Linux<indexterm><primary>Linux</primary><secondary>applications</secondary></indexterm> has joined the desktop market. Linux developers concentrated
on networking and services in the beginning, and office applications have been
the last barrier to be taken down. We don't like to admit that Microsoft is
ruling this market, so plenty of alternatives have been started over the last
@ -190,7 +190,7 @@ such a wide range of hardware.</para>
<sect2 id="sect_01_02_01">
<title>Is Linux difficult?</title>
<para>Whether Linux is difficult to learn depends on the person you're asking.
<para>Whether Linux is difficult<indexterm><primary>Linux</primary><secondary>user interface</secondary></indexterm> to learn depends on the person you're asking.
Experienced UNIX users will say no, because Linux is an ideal operating system
for power-users and programmers, because it has been and is being developed by
such people.
@ -220,7 +220,7 @@ changes in the accessibility of the system.
<title>Linux for non-experienced users</title>
<para>Companies such as RedHat, SuSE and Mandriva have sprung up, providing
packaged Linux distributions suitable for mass consumption. They integrated a
great deal of graphical user interfaces (GUIs), developed by the community, in
great deal of graphical user interfaces<indexterm><primary>Linux</primary><secondary>ease of use</secondary></indexterm> (GUIs), developed by the community, in
order to ease management of programs and services. As a Linux user today you
have all the means of getting to know your system inside out, but it is no
longer necessary to have that knowledge in order to make the system comply to
@ -235,7 +235,7 @@ are not forced to work in the same way they did when they first started learning
Linux.
</para>
<para>While development in the service area continues, great things are being
done for desktop users, generally considered as the group least likely to know
done for desktop<indexterm><primary>desktop</primary><secondary>development</secondary></indexterm> users, generally considered as the group least likely to know
how a system works. Developers of desktop applications are making incredible
efforts to make the most beautiful desktops you've ever seen, or to make your
Linux machine look just like your former MS Windows or MacIntosh workstation.
@ -244,7 +244,7 @@ devices, single-click updates of system and packages, and so on. Linux has
these, and tries to present all available services in a logical form that
ordinary people can understand. Below is a short list containing some great
examples; these sites have a lot of screenshots that will give you a glimpse of
what Linux on the desktop can be like:
what Linux on the desktop<indexterm><primary>desktop</primary><secondary>look and feel</secondary></indexterm> can be like:
</para>
<itemizedlist>
<listitem><para><ulink url="http://www.gnome.org" />
@ -261,7 +261,7 @@ what Linux on the desktop can be like:
<sect1 id="sect_01_03"><title>Does Linux have a future?</title>
<sect2 id="sect_01_03_01"><title>Open Source</title>
<para>The idea behind Open Source software is rather simple: when programmers
<para>The idea behind Open Source<indexterm><primary>Open Source</primary><secondary>what is it?</secondary></indexterm> software is rather simple: when programmers
can read, distribute and change code, the code will mature. People can adapt
it, fix it, debug it, and they can do it at a speed that dwarfs the performance
of software developers at conventional companies. This software will be more
@ -269,7 +269,7 @@ flexible and of a better quality than software that has been developed using
the conventional channels, because more people have tested it in more different
conditions than the closed software developer ever can.
</para>
<para>The Open Source initiative started to make this clear to the commercial
<para>The Open Source<indexterm><primary>Open Source</primary><secondary>achievements</secondary></indexterm> initiative started to make this clear to the commercial
world, and very slowly, commercial vendors are starting to see the point. While
lots of academics and technical people have already been convinced for 20 years
now that this is the way to go, commercial vendors needed applications like the
@ -287,7 +287,7 @@ challenge of a fast-changing world.
<sect2 id="sect_01_03_02"><title>Ten years of experience at your service</title>
<para>While Linux is probably the most well-known Open Source initiative, there
is another project that contributed enormously to the popularity of the Linux
operating system. This project is called SAMBA, and its achievement is the
operating system. This project is called SAMBA<indexterm><primary>Open Source</primary><secondary>other projects</secondary></indexterm>, and its achievement is the
reverse engineering of the Server Message Block (SMB)/Common Internet File
System (CIFS) protocol used for file- and print-serving on PC-related machines,
natively supported by MS Windows NT and OS/2, and Linux. Packages are now
@ -306,7 +306,7 @@ millions of visitors per day, and while no official support is provided by the
developers, the Apache user community provides answers to all your questions.
Commercial support is now being provided by a number of third parties.
</para>
<para>In the category of office applications, a choice of MS Office suite clones
<para>In the category of office applications, a choice of MS Office<indexterm><primary>desktop</primary><secondary>office</secondary></indexterm> suite clones
is available, ranging from partial to full implementations of the applications
available on MS Windows workstations. These initiatives helped a great deal to
make Linux acceptable for the desktop market, because the users don't need extra
@ -314,7 +314,7 @@ training to learn how to work with new systems. With the desktop comes the
praise of the common users, and not only their praise, but also their specific
requirements, which are growing more intricate and demanding by the day.
</para>
<para>The Open Source community, consisting largely of people who have been
<para>The Open Source<indexterm><primary>Open Source</primary><secondary>community</secondary></indexterm> community, consisting largely of people who have been
contributing for over half a decade, assures Linux' position as an important
player on the desktop market as well as in general IT application. Paid
employees and volunteers alike are working diligently so that Linux can maintain
@ -352,21 +352,21 @@ home:
<sect2 id="sect_01_04_01"><title>Linux Pros</title>
<para>A lot of the advantages of Linux are a consequence of Linux' origins,
deeply rooted in UNIX, except for the first advantage, of course:
<para>A lot of the advantages<indexterm><primary>Linux</primary><secondary>advantages</secondary></indexterm> of Linux are a consequence of Linux' origins,
deeply rooted in UNIX, except for the first advantage<indexterm><primary>Linux</primary><secondary>properties</secondary></indexterm>, of course:
</para>
<itemizedlist>
<listitem>
<para>Linux is free:</para>
<para>As in free beer, they say. If you want to spend absolutely nothing, you
<para>As in free beer<indexterm><primary>Linux</primary><secondary>free</secondary></indexterm>, they say. If you want to spend absolutely nothing, you
don't even have to pay the price of a CD. Linux can be downloaded in its
entirety from the Internet completely for free. No registration fees, no costs
per user, free updates, and freely available source code in case you want to
change the behavior of your system.
</para>
<para>Most of all, Linux is free as in free speech:</para>
<para>The license commonly used is the GNU Public License (GPL). The license
<para>The license commonly used is the GNU Public License<indexterm><primary>GNU</primary><secondary>public license</secondary></indexterm> (GPL). The license
says that anybody who may want to do so, has the right to change Linux and
eventually to redistribute a changed version, on the one condition that the code
is still available after redistribution. In practice, you are free to grab a
@ -379,13 +379,13 @@ copy of that code.
<para>Linux is portable to any hardware platform:</para>
<para>A vendor who wants to sell a new type of computer and who doesn't know
what kind of OS his new machine will run (say the CPU in your car or washing
machine), can take a Linux kernel and make it work on his hardware, because
machine), can take a Linux kernel and make it work<indexterm><primary>Linux</primary><secondary>portability</secondary></indexterm> on his hardware, because
documentation related to this activity is freely available.
</para>
</listitem>
<listitem>
<para>Linux was made to keep on running:</para>
<para>As with UNIX, a Linux system expects to run without rebooting all the
<para>As with UNIX<indexterm><primary>Linux</primary><secondary>robustness</secondary></indexterm>, a Linux system expects to run without rebooting all the
time. That is why a lot of tasks are being executed at night or scheduled
automatically for other calm moments, resulting in higher availability during
busier periods and a more balanced use of the hardware. This property allows
@ -395,7 +395,7 @@ or the possibility to control their systems night and day.
</listitem>
<listitem>
<para>Linux is secure and versatile:</para>
<para>The security model used in Linux is based on the UNIX idea of security,
<para>The security model used in Linux<indexterm><primary>Linux</primary><secondary>security</secondary></indexterm> is based on the UNIX idea of security,
which is known to be robust and of proven quality. But Linux is not only fit
for use as a fort against enemy attacks from the Internet: it will adapt
equally to other situations, utilizing the same high standards for security.
@ -405,7 +405,7 @@ Your development machine or control station will be as secure as your firewall.
<listitem>
<para>Linux is scalable:</para>
<para>From a Palmtop with 2 MB of memory to a petabyte storage cluster with
hundreds of nodes: add or remove the appropriate packages and Linux fits all.
hundreds of nodes<indexterm><primary>Linux</primary><secondary>scalability</secondary></indexterm>: add or remove the appropriate packages and Linux fits all.
You don't need a supercomputer anymore, because you can use Linux to do big
things using the building blocks provided with the system. If you want to do
little things, such as making an operating system for an embedded processor or
@ -415,7 +415,7 @@ just recycling your old 486, Linux will do that as well.
<listitem>
<para>The Linux OS and quite some Linux applications have very short debug-times:
</para>
<para>Because Linux has been developed and tested by thousands of people, both
<para>Because Linux<indexterm><primary>Linux</primary><secondary>bugs</secondary></indexterm> has been developed and tested by thousands of people, both
errors and people to fix them are usually found rather quickly. It sometimes happens that
there are only a couple of hours between discovery and fixing of a bug.
</para>
@ -427,7 +427,7 @@ there are only a couple of hours between discovery and fixing of a bug.
<itemizedlist>
<listitem>
<para>There are far too many different distributions:</para>
<para>There are far too many different<indexterm><primary>Linux</primary><secondary>disadvantages</secondary></indexterm> distributions:</para>
<para>"Quot capites, tot rationes", as the Romans already said: the more
people, the more opinions. At first glance, the amount of Linux distributions
can be frightening, or ridiculous, depending on your point of view. But it also
@ -462,7 +462,7 @@ users at all levels.
</listitem>
<listitem>
<para>Is an Open Source product trustworthy?</para>
<para>How can something that is free also be reliable? Linux users have the
<para>How can something that is free also be reliable<indexterm><primary>Open Source</primary><secondary>reliability</secondary></indexterm>? Linux users have the
choice whether to use Linux or not, which gives them an enormous advantage
compared to users of proprietary software, who don't have that kind of freedom.
After long periods of testing, most Linux users come to the conclusion that
@ -492,9 +492,9 @@ relationship. Just when you think you have a nice running system, Linux will
stimulate your imagination and creativeness, and the more you realize what
power the system can give you, the more you will try to redefine its limits.
</para>
<para>Linux may appear different depending on the distribution, your hardware
<para>Linux may appear different depending on the distribution<indexterm><primary>Linux</primary><secondary>distributions</secondary></indexterm>, your hardware
and personal taste, but the fundamentals on which all graphical and other
interfaces are built, remain the same. The Linux system is based on GNU tools
interfaces are built, remain the same. The Linux system is based on GNU<indexterm><primary>GNU</primary><secondary>tools</secondary></indexterm> tools
(Gnu's Not UNIX), which provide a set of standard ways to handle and use the
system. All GNU tools are open source, so they can be installed on any system.
Most distributions offer pre-compiled packages of most common tools, such as RPM
@ -505,7 +505,7 @@ with a complete set of development tools, allowing installation of new software
purely from source code. This setup also allows you to install software even if
it does not exist in a pre-packaged form suitable for your system.
</para>
<para>A list of common GNU software:</para>
<para>A list of common GNU<indexterm><primary>GNU</primary><secondary>examples</secondary></indexterm> software:</para>
<itemizedlist>
<listitem><para>Bash: The GNU shell
</para></listitem>
@ -544,7 +544,7 @@ information about these packages we refer to their specific documentation.
Throughout this guide we will only discuss freely available software, which
comes (in most cases) with a GNU license.
</para>
<para>To install missing or new packages, you will need some form of software
<para>To install missing<indexterm><primary>installing software</primary><secondary>package managers</secondary></indexterm> or new packages, you will need some form of software
management. The most common implementations include RPM, dpkg and Ximian Red
Carpet. RPM is the RedHat Package Manager, which is used on a variety of Linux
systems, eventhough the name does not suggest this. Dpkg is the Debian package
@ -559,7 +559,7 @@ programs.
</sect2>
<sect2 id="sect_01_05_02"><title>GNU/Linux</title>
<para>The Linux kernel (the <emphasis>bones</emphasis> of your system, see
<xref linkend="sect_03_02_03_01" />) is not part of the GNU project but uses the
<xref linkend="sect_03_02_03_01" />) is not part of the GNU<indexterm><primary>GNU</primary><secondary>GNU/Linux</secondary></indexterm> project but uses the
same license as GNU software. A great majority of utilities and development
tools (the <emphasis>meat</emphasis> of your system), which are not
Linux-specific, are taken from the GNU project. Because any usable system must
@ -574,7 +574,7 @@ distribution, version or program name will be mentioned.
</para>
</sect2>
<sect2 id="sect_01_05_03"><title>Which distribution should I install?</title>
<para>Prior to installation, the most important factor is your hardware. Since
<para>Prior to installation<indexterm><primary>distributions</primary><secondary>how to chose?</secondary></indexterm>, the most important factor is your hardware. Since
every Linux distribution contains the basic packages and can be built to meet
almost any requirement (because they all use the Linux kernel), you only need to
consider if the distribution will run on your hardware. LinuxPPC for example
@ -598,7 +598,7 @@ not blocking professionals from getting the most out of their Linux machines.
Linux also runs decently on laptops and middle-range servers. Drivers for new
hardware are included only after extensive testing, which adds to the stability
of a system.</para>
<para>While the standard desktop might be Gnome on one system, another might
<para>While the standard desktop might be Gnome<indexterm><primary>desktop</primary><secondary>types</secondary></indexterm> on one system, another might
offer KDE by default. Generally, both Gnome and KDE are available for all major Linux distributions. Other window and desktop managers are available for more advanced users.</para>
<para>The standard installation process allows users to choose between different basic
setups, such as a workstation, where all packages needed for everyday use and
@ -608,7 +608,7 @@ packages they want during the initial installation process.
</para>
<para>The goal of this guide is to apply to all Linux distributions. For your
own convenience, however, it is strongly advised that beginners stick to a
mainstream distribution, supporting all common hardware and applications by
mainstream distribution<indexterm><primary>distributions</primary><secondary>mainstream</secondary></indexterm>, supporting all common hardware and applications by
default. The following are very good choices for novices:
</para>
<itemizedlist>
@ -624,7 +624,7 @@ default. The following are very good choices for novices:
operating system that runs from your CD-ROM, you don't need to install anything.
</para></listitem>
</itemizedlist>
<para>Downloadable ISO-images can be obtained from <ulink url="http://www.linuxiso.org">LinuxISO.org</ulink>. The main distributions can be purchased in any decent computer shop.
<para>Downloadable ISO-images<indexterm><primary>distributions</primary><secondary>ISO images</secondary></indexterm> can be obtained from <ulink url="http://www.linuxiso.org">LinuxISO.org</ulink>. The main distributions can be purchased in any decent computer shop.
</para>
</sect2>

View File

@ -31,7 +31,7 @@ things.
<sect1 id="sect_02_01"><title>Logging in, activating the user interface and
logging out</title>
<sect2 id="sect_02_01_01"><title>Introduction</title>
<para>In order to work on a Linux system directly, you will need to provide a
<para>In order to work on a Linux system directly<indexterm><primary>login</primary><secondary>authentication</secondary></indexterm>, you will need to provide a
user name and password. You always need to authenticate to the system. As we
already mentioned in the exercise from <xref linkend="chap_01" />, most PC-based
Linux systems have two basic modes for a system to run in: either quick and
@ -42,14 +42,14 @@ more system resources.
</sect2>
<sect2 id="sect_02_01_02"><title>Graphical mode</title>
<para>This is the default nowadays on most desktop computers. You know you will connect to the system using graphical mode when you are first asked for your user name, and then, in a new window, to type your password.</para>
<para>To log in, make sure the mouse pointer is in the login window, provide your user name and password to the system and click <guibutton>OK</guibutton> or press <keycap>Enter</keycap>.</para>
<para>To log in<indexterm><primary>login</primary><secondary>graphical</secondary></indexterm>, make sure the mouse pointer is in the login window, provide your user name and password to the system and click <guibutton>OK</guibutton> or press <keycap>Enter</keycap>.</para>
<warning><title>Careful with that root account!</title>
<para>It is generally considered a bad idea to connect (graphically) using the <emphasis>root</emphasis> user name, the system adminstrator's account, since the use of graphics includes running a lot of extra programs, in root's case with a lot of extra permissions. To keep all risks as low as possible, use a normal user account to connect graphically. But there are enough risks to keep this in mind as a general advice, for all use of the root account: only log in as root when extra privileges are required.</para>
<para>It is generally considered<indexterm><primary>login</primary><secondary>root</secondary></indexterm> a bad idea to connect (graphically) using the <emphasis>root</emphasis> user name, the system adminstrator's account, since the use of graphics includes running a lot of extra programs, in root's case with a lot of extra permissions. To keep all risks as low as possible, use a normal user account to connect graphically. But there are enough risks to keep this in mind as a general advice, for all use of the root account: only log in as root when extra privileges are required.</para>
</warning>
<para>After entering your user name/password combination, it can take a little while before the graphical environment is started, depending on the CPU speed of your computer, on the software you use and on your personal settings.</para>
<para>To continue, you will need to open a <emphasis>terminal window</emphasis> or <emphasis>xterm</emphasis> for short (X being the name for the underlying software supporting the graphical environment). This program can be found in the <menuchoice><guimenu>Applications</guimenu><guimenuitem>Utilities</guimenuitem></menuchoice>, <menuchoice><guimenuitem>System Tools</guimenuitem></menuchoice> or <menuchoice><guimenuitem>Internet</guimenuitem></menuchoice> menu, depending on what window manager you are using. There might be icons that you can use as a shortcut to get an xterm window as well, and clicking the right mouse button on the desktop background will usually present you with a menu containing a terminal window application.</para>
<para>While browsing the menus, you will notice that a lot of things can be done without entering commands via the keyboard. For most users, the good old point-'n'-click method of dealing with the computer will do. But this guide is for future network and system administrators, who will need to meddle with the heart of the system. They need a stronger tool than a mouse to handle all the tasks they will face. This tool is the shell, and when in graphical mode, we activate our shell by opening a terminal window.</para>
<para>The terminal window is your control panel for the system. Almost everything that follows is done using this simple but powerful text tool. A terminal window should always show a command prompt when you open one. This terminal shows a standard prompt, which displays the user's login name, and the current working directory, represented by the twiddle (<filename>~</filename>):</para>
<para>To continue, you will need to open a <emphasis>terminal window<indexterm><primary>terminal</primary><secondary>starting up</secondary></indexterm></emphasis> or <emphasis>xterm</emphasis> for short (X being the name for the underlying software supporting the graphical environment). This program can be found in the <menuchoice><guimenu>Applications</guimenu><guimenuitem>Utilities</guimenuitem></menuchoice>, <menuchoice><guimenuitem>System Tools</guimenuitem></menuchoice> or <menuchoice><guimenuitem>Internet</guimenuitem></menuchoice> menu, depending on what window manager you are using. There might be icons that you can use as a shortcut to get an xterm window as well, and clicking the right mouse button on the desktop background will usually present you with a menu containing a terminal window application.</para>
<para>While browsing the menus<indexterm><primary>desktop</primary><secondary>menus</secondary></indexterm>, you will notice that a lot of things can be done without entering commands via the keyboard. For most users, the good old point-'n'-click method of dealing with the computer will do. But this guide is for future network and system administrators, who will need to meddle with the heart of the system. They need a stronger tool than a mouse to handle all the tasks they will face. This tool is the shell, and when in graphical mode, we activate our shell by opening a terminal window.</para>
<para>The terminal window<indexterm><primary>terminal</primary><secondary>view</secondary></indexterm> is your control panel for the system. Almost everything that follows is done using this simple but powerful text tool. A terminal window should always show a command prompt when you open one. This terminal shows a standard prompt, which displays the user's login name, and the current working directory, represented by the twiddle (<filename>~</filename>):</para>
<figure><title>Terminal window</title>
<mediaobject>
<imageobject>
@ -69,12 +69,12 @@ more system resources.
</screen>
<para>In the above example, <emphasis>user</emphasis> will be your login name, <emphasis>hosts</emphasis> the name of the machine you are working on, and <emphasis>dir</emphasis> an indication of your current location in the file system.</para>
<para>Later we will discuss prompts and their behavior in detail. For now, it suffices to know that prompts can display all kinds of information, but that they are not part of the commands you are giving to your system.</para>
<para>To disconnect from the system in graphical mode, you need to close all terminal windows and other applications. After that, hit the logout icon or find <menuchoice><guimenuitem>Log Out</guimenuitem></menuchoice> in the menu. Closing everything is not really necessary, and the system can do this for you, but session management might put all currently open applications back on your screen when you connect again, which takes longer and is not always the desired effect. However, this behavior is configurable.</para>
<para>To disconnect from the system in graphical<indexterm><primary>logout</primary><secondary>graphical</secondary></indexterm> mode, you need to close all terminal windows and other applications. After that, hit the logout icon or find <menuchoice><guimenuitem>Log Out</guimenuitem></menuchoice> in the menu. Closing everything is not really necessary, and the system can do this for you, but session management might put all currently open applications back on your screen when you connect again, which takes longer and is not always the desired effect. However, this behavior is configurable.</para>
<para>When you see the login screen again, asking to enter user name and password, logout was successful.</para>
</sect2>
<sect2 id="sect_02_01_03"><title>Text mode</title>
<para>You know you're in text mode when the whole screen is black, showing (in most cases white) characters. A text mode login screen typically shows some information about the machine you are working on, the name of the machine and a prompt waiting for you to log in:</para>
<para>You know you're in text mode when the whole screen is black<indexterm><primary>login</primary><secondary>text mode</secondary></indexterm>, showing (in most cases white) characters. A text mode<indexterm><primary>text mode</primary><secondary>view</secondary></indexterm> login screen typically shows some information about the machine you are working on, the name of the machine and a prompt waiting for you to log in:</para>
<screen>
@ -89,12 +89,12 @@ blast login: _
<para>The login is different from a graphical login, in that you have to hit the <keycap>Enter</keycap> key after providing your user name, because there are no buttons on the screen that you can click with the mouse. Then you should type your password, followed by another <keycap>Enter</keycap>. You won't see any indication that you are entering something, not even an asterisk, and you won't see the cursor move. But this is normal on Linux and is done for security reasons.</para>
<para>When the system has accepted you as a valid user, you may get some more information, called the <emphasis>message of the day</emphasis>, which can be anything. Additionally, it is popular on UNIX systems to display a fortune cookie, which contains some general wise or unwise (this is up to you) thoughts. After that, you will be given a shell, indicated with the same prompt that you would get in graphical mode.</para>
<warning><title>Don't log in as root</title>
<para>Also in text mode: log in as root only to do setup and configuration that absolutely requires administrator privileges, such as adding users, installing software packages, and performing network and other system configuration. Once you are finished, immediately leave the special account and resume your work as a non-privileged user. Alternatively, some systems, like Ubuntu, force you to use <command>sudo</command>, so that you do not need direct access to the administrative account.</para>
<para>Also in text mode: log in as root<indexterm><primary>root</primary><secondary>login</secondary></indexterm> only to do setup and configuration that absolutely requires administrator privileges, such as adding users, installing software packages, and performing network and other system configuration. Once you are finished, immediately leave the special account and resume your work as a non-privileged user. Alternatively, some systems, like Ubuntu, force you to use <command>sudo<indexterm><primary>sudo</primary></indexterm></command>, so that you do not need direct access to the administrative account.</para>
</warning>
<para>Logging out is done by entering the <command>logout</command> command, followed by <keycap>Enter</keycap>. You are successfully disconnected from the system when you see the login screen again.</para>
<para>Logging<indexterm><primary>text mode</primary><secondary>logout</secondary></indexterm> out is done by entering the <command>logout<indexterm><primary>logout</primary></indexterm></command> command, followed by <keycap>Enter</keycap>. You are successfully disconnected from the system when you see the login screen again.</para>
<caution><title>The power button</title>
<para>While Linux was not meant to be shut off without application of the proper procedures for halting the system, hitting the power button is equivalent to starting those procedures <emphasis>on newer systems</emphasis>. However, powering off an old system without going through the halting process might cause severe damage! If you want to be sure, always use the <menuchoice><guimenu>Shut down</guimenu></menuchoice> option when you log out from the graphical interface, or, when on the login screen (where you have to give your user name and password) look around for a shutdown button.</para></caution>
<para>While Linux was not meant to be shut off without application of the proper procedures for halting the system, hitting the power button<indexterm><primary>power button</primary></indexterm> is equivalent to starting those procedures <emphasis>on newer systems</emphasis>. However, powering off<indexterm><primary>power off</primary></indexterm> an old system without going through the halting process might cause severe damage! If you want to be sure, always use the <menuchoice><guimenu>Shut down</guimenu></menuchoice> option when you log out from the graphical interface, or, when on the login screen (where you have to give your user name and password) look around for a shutdown button.</para></caution>
<para>Now that we know how to connect to and disconnect from the system, we're ready for our first commands.</para>
</sect2>
@ -102,7 +102,7 @@ blast login: _
<sect1 id="sect_02_02"><title>Absolute basics</title>
<sect2 id="sect_02_02_01"><title>The commands</title>
<para>These are the quickies, which we need to get started; we will discuss them later in more detail.</para>
<para>These are the quickies<indexterm><primary>commands</primary><secondary>basics</secondary></indexterm>, which we need to get started; we will discuss them later in more detail.</para>
<table id="tab_02_01" frame="all">
<title>Quickstart commands</title>
<tgroup cols="2" align="left" colsep="1" rowsep="1">
@ -117,45 +117,45 @@ blast login: _
<row>
<entry><command>ls</command></entry>
<entry><para>Displays a list of files in the current working directory, like the <command>dir</command> command in DOS</para></entry>
<entry><para>Displays a list of files<indexterm><primary>ls</primary></indexterm> in the current working directory, like the <command>dir</command> command in DOS</para></entry>
</row>
<row>
<entry><command>cd <filename>directory</filename></command></entry>
<entry><para>change directories</para></entry>
<entry><para>change<indexterm><primary>cd</primary></indexterm> directories</para></entry>
</row>
<row>
<entry><command>passwd</command></entry>
<entry>change the password for the current user</entry>
<entry>change the password<indexterm><primary>passwd</primary></indexterm> for the current user</entry>
</row>
<row>
<entry><command>file <filename>filename</filename></command></entry>
<entry>display file type of file with name <filename>filename</filename></entry>
<entry>display file type<indexterm><primary>file</primary></indexterm> of file with name <filename>filename</filename></entry>
</row>
<row>
<entry><command>cat <filename>textfile</filename></command></entry>
<entry>throws content of <filename>textfile</filename> on the screen</entry>
<entry>throws<indexterm><primary>cat</primary></indexterm> content of <filename>textfile</filename> on the screen</entry>
</row>
<row><entry><command>pwd</command></entry>
<entry>display present working directory</entry>
<entry>display<indexterm><primary>pwd</primary></indexterm> present working directory</entry>
</row>
<row>
<entry><command>exit</command> or <command>logout</command></entry>
<entry>leave this session</entry>
<entry>leave<indexterm><primary>exit</primary></indexterm> this session</entry>
</row>
<row>
<entry><command>man <parameter>command</parameter></command></entry>
<entry>read man pages on <command>command</command></entry>
<entry>read man<indexterm><primary>man</primary></indexterm> pages on <command>command</command></entry>
</row>
<row>
<entry><command>info <parameter>command</parameter></command></entry>
<entry>read Info pages on <command>command</command></entry>
<entry>read Info<indexterm><primary>info</primary></indexterm> pages on <command>command</command></entry>
</row>
<row>
<entry><command>apropos <parameter>string</parameter></command></entry>
<entry>search the <emphasis>whatis</emphasis> database for strings</entry>
<entry>search<indexterm><primary>apropos</primary></indexterm> the <emphasis>whatis</emphasis> database for strings</entry>
</row>
</tbody>
@ -163,18 +163,18 @@ blast login: _
</table>
</sect2>
<sect2 id="sect_02_02_02"><title>General remarks</title>
<para>You type these commands after the prompt, in a terminal window in graphical mode or in text mode, followed by <keycap>Enter</keycap>.</para>
<para>Commands can be issued by themselves, such as <command>ls</command>. A command behaves different when you specify an <emphasis>option</emphasis>, usually preceded with a dash (-), as in <command>ls -a</command>. The same option character may have a different meaning for another command. GNU programs take long options, preceded by two dashes (--), like <command>ls --all</command>. Some commands have no options.</para>
<para>The argument(s) to a command are specifications for the object(s) on which you want the command to take effect. An example is <command>ls <parameter>/etc</parameter></command>, where the directory <filename>/etc</filename> is the argument to the <command>ls</command> command. This indicates that you want to see the content of that directory, instead of the default, which would be the content of the current directory, obtained by just typing <command>ls</command> followed by <keycap>Enter</keycap>. Some commands require arguments, sometimes arguments are optional.</para>
<para>You type these commands<indexterm><primary>commands</primary><secondary>entering</secondary></indexterm> after the prompt, in a terminal window in graphical mode or in text mode, followed by <keycap>Enter</keycap>.</para>
<para>Commands can be issued by themselves, such as <command>ls<indexterm><primary>ls</primary></indexterm></command>. A command behaves different when you specify an <emphasis>option<indexterm><primary>commands</primary><secondary>options</secondary></indexterm></emphasis>, usually preceded with a dash<indexterm><primary>dash</primary></indexterm> (-), as in <command>ls -a</command>. The same option character may have a different meaning for another command. GNU programs take long options<indexterm><primary>options</primary><secondary>long options</secondary></indexterm>, preceded by two dashes (--), like <command>ls --all</command>. Some commands have no options.</para>
<para>The argument(s)<indexterm><primary>commands</primary><secondary>arguments</secondary></indexterm> to a command are specifications for the object(s) on which you want the command to take effect. An example is <command>ls <parameter>/etc</parameter></command>, where the directory <filename>/etc</filename> is the argument to the <command>ls</command> command. This indicates that you want to see the content of that directory, instead of the default, which would be the content of the current directory, obtained by just typing <command>ls</command> followed by <keycap>Enter</keycap>. Some commands require arguments, sometimes arguments are optional.</para>
<para>You can find out whether a command takes options and arguments, and which ones are valid, by checking the online help for that command, see <xref linkend="sect_02_03" />.</para>
<para>In Linux, like in UNIX, directories are separated using forward slashes, like the ones used in web addresses (URLs). We will discuss directory structure in-depth later.</para>
<para>The symbols . and .. have special meaning when directories are concerned. We will try to find out about those during the exercises, and more in the next chapter.</para>
<para>Try to avoid logging in with or using the system administrator's account, <emphasis>root</emphasis>. Besides doing your normal work, most tasks, including checking the system, collecting information etc., can be executed using a normal user account with no special permissions at all. If needed, for instance when creating a new user or installing new software, the preferred way of obtaining root access is by switching user IDs, see <xref linkend="sect_03_02_01" /> for an example.</para>
<para>In Linux, like in UNIX, directories are separated using forward slashes<indexterm><primary>slash</primary><secondary>forward</secondary></indexterm>, like the ones used in web addresses (URLs). We will discuss directory structure in-depth later.</para>
<para>The symbols . and ..<indexterm><primary>dots</primary></indexterm> have special meaning when directories are concerned. We will try to find out about those during the exercises, and more in the next chapter.</para>
<para>Try to avoid logging in with or using the system administrator's<indexterm><primary>root login</primary></indexterm> account, <emphasis>root</emphasis>. Besides doing your normal work, most tasks, including checking the system, collecting information etc., can be executed using a normal user account with no special permissions at all. If needed, for instance when creating a new user or installing new software, the preferred way of obtaining root access is by switching user IDs, see <xref linkend="sect_03_02_01" /> for an example.</para>
<para>Almost all commands in this book can be executed without system administrator privileges. In most cases, when issuing a command or starting a program as a non-privileged user, the system will warn you or prompt you for the root password when root access is required. Once you're done, leave the application or session that gives you root privileges immediately.</para>
<para>Reading documentation should become your second nature. Especially in the beginning, it is important to read system documentation, manuals for basic commands, HOWTOs and so on. Since the amount of documentation is so enormous, it is impossible to include all related documentation. This book will try to guide you to the most appropriate documentation on every subject discussed, in order to stimulate the habit of reading the man pages.</para>
</sect2>
<sect2 id="sect_02_02_03"><title>Using Bash features</title>
<para>Several special key combinations allow you to do things easier and faster with the GNU shell, Bash, which is the default on almost any Linux system, see <xref linkend="sect_03_02_03_02" />. Below is a list of the most commonly used features; you are strongly suggested to make a habit out of using them, so as to get the most out of your Linux experience from the very beginning.</para>
<para>Several special key<indexterm><primary>Bash</primary><secondary>features</secondary></indexterm> combinations allow you to do things easier and faster with the GNU shell, Bash, which is the default on almost any Linux system, see <xref linkend="sect_03_02_03_02" />. Below is a list<indexterm><primary>key combinations</primary></indexterm> of the most commonly used features; you are strongly suggested to make a habit out of using them, so as to get the most out of your Linux experience from the very beginning.</para>
<table id="tab_02_02" frame="all"><title>Key combinations in Bash</title>
<tgroup cols="2" align="left" colsep="1" rowsep="1">
@ -182,7 +182,7 @@ blast login: _
<row><entry>Key or key combination</entry><entry>Function</entry></row>
</thead>
<tbody>
<row><entry><keycap>Ctrl</keycap>+<keycap>A</keycap></entry><entry>Move cursor to the beginning of the command line.</entry></row>
<row><entry><keycap>Ctrl</keycap>+<keycap>A</keycap></entry><entry>Move cursor to the beginning<indexterm><primary>Ctrl</primary></indexterm> of the command line.</entry></row>
<row><entry><keycap>Ctrl</keycap>+<keycap>C</keycap></entry><entry>End a running program and return the prompt, see <xref linkend="chap_04" />.</entry></row>
<row><entry><keycap>Ctrl</keycap>+<keycap>D</keycap></entry><entry>Log out of the current shell session, equal to typing <command>exit</command> or <command>logout</command>.</entry></row>
<row><entry><keycap>Ctrl</keycap>+<keycap>E</keycap></entry><entry>Move cursor to the end of the command line.</entry></row>
@ -190,16 +190,16 @@ blast login: _
<row><entry><keycap>Ctrl</keycap>+<keycap>L</keycap></entry><entry>Clear this terminal.</entry></row>
<row><entry><keycap>Ctrl</keycap>+<keycap>R</keycap></entry><entry>Search command history, see <xref linkend="sect_03_03_03_04" />.</entry></row>
<row><entry><keycap>Ctrl</keycap>+<keycap>Z</keycap></entry><entry>Suspend a program, see <xref linkend="chap_04" />.</entry></row>
<row><entry><keycap>ArrowLeft</keycap> and <keycap>ArrowRight</keycap></entry><entry>Move the cursor one place to the left or right on the command line, so that you can insert characters at other places than just at the beginning and the end.</entry></row>
<row><entry><keycap>ArrowLeft</keycap> and <keycap>ArrowRight</keycap></entry><entry>Move the cursor<indexterm><primary>arrows</primary></indexterm> one place to the left or right on the command line, so that you can insert characters at other places than just at the beginning and the end.</entry></row>
<row><entry><keycap>ArrowUp</keycap> and <keycap>ArrowDown</keycap></entry><entry>Browse history. Go to the line that you want to repeat, edit details if necessary, and press <keycap>Enter</keycap> to save time.</entry></row>
<row><entry><keycap>Shift</keycap>+<keycap>PageUp</keycap> and <keycap>Shift</keycap>+<keycap>PageDown</keycap></entry><entry>Browse terminal buffer (to see text that has "scrolled off" the screen).</entry></row>
<row><entry><keycap>Tab</keycap></entry><entry>Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.</entry></row>
<row><entry><keycap>Shift</keycap>+<keycap>PageUp</keycap> and <keycap>Shift</keycap>+<keycap>PageDown</keycap></entry><entry>Browse terminal<indexterm><primary>Shift</primary></indexterm> buffer (to see text that has "scrolled off" the screen).</entry></row>
<row><entry><keycap>Tab</keycap></entry><entry>Command<indexterm><primary>tab</primary></indexterm> or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.</entry></row>
<row><entry><keycap>Tab</keycap> <keycap>Tab</keycap></entry><entry>Shows file or command completion possibilities.</entry></row>
</tbody>
</tgroup>
</table>
<para>The last two items in the above table may need some extra explanantions. For instance, if you want to change into the directory <filename>directory_with_a_very_long_name</filename>, you are not going to type that very long name, no. You just type on the command line <command>cd dir</command>, then you press <keycap>Tab</keycap> and the shell completes the name for you, if no other files are starting with the same three characters. Of course, if there are no other items starting with <quote>d</quote>, then you might just as wel type <command>cd d</command> and then <keycap>Tab</keycap>. If more than one file starts with the same characters, the shell will signal this to you, upon which you can hit <keycap>Tab</keycap> twice with short interval, and the shell presents the choices you have:</para>
<para>The last two items in the above table may need some extra explanantions. For instance, if you want to change into the directory<indexterm><primary>file name completion</primary><secondary></secondary></indexterm> <filename>directory_with_a_very_long_name</filename>, you are not going<indexterm><primary>Bash</primary><secondary>file name completion</secondary></indexterm> to type that very long name, no. You just type on the command line <command>cd dir</command>, then you press <keycap>Tab</keycap> and the shell completes the name for you, if no other files are starting with the same three characters. Of course, if there are no other items starting with <quote>d</quote>, then you might just as wel type <command>cd d</command> and then <keycap>Tab</keycap>. If more than one file starts with the same characters, the shell will signal this to you, upon which you can hit <keycap>Tab</keycap> twice with short interval, and the shell presents the choices you have:</para>
<screen>
<prompt>your_prompt&gt;</prompt> <command>cd st</command>
starthere stuff stuffit
@ -211,7 +211,7 @@ starthere stuff stuffit
<para>Of course, you'll still have to hit <keycap>Enter</keycap> to accept this choice.</para>
<para>In the same example, if you type <quote>u</quote>, and then hit <keycap>Tab</keycap>, the shell will add the <quote>ff</quote> for you, but then it protests again, because multiple choices are possible. If you type <keycap>Tab</keycap> <keycap>Tab</keycap> again, you'll see the choices; if you type one or more characters that make the choice unambiguous to the system, and <keycap>Tab</keycap> again, or <keycap>Enter</keycap> when you've reach the end of the file name that you want to choose, the shell completes the file name and changes you into that directory - if indeed it is a directory name.</para>
<para>This works for all file names that are arguments to commands.</para>
<para>The same goes for command name completion. Typing <command>ls</command> and then hitting the <keycap>Tab</keycap> key twice, lists all the commands in your <varname>PATH</varname> (see <xref linkend="sect_03_02_01" />) that start with these two characters:</para>
<para>The same goes for command name completion<indexterm><primary>command name completion</primary><secondary></secondary></indexterm>. Typing <command>ls</command> and then hitting<indexterm><primary>Bash</primary><secondary>command name completion</secondary></indexterm> the <keycap>Tab</keycap> key twice, lists all the commands in your <varname>PATH</varname> (see <xref linkend="sect_03_02_01" />) that start with these two characters:</para>
<screen>
<prompt>your_prompt&gt;</prompt> <command>ls</command>
ls lsdev lspci lsraid lsw
@ -226,8 +226,8 @@ lsb_release lsof lspnp lsusb
<para>GNU/Linux is all about becoming more self-reliant. And as usual with this system, there are several ways to achieve the goal. A common way of getting help is finding someone who knows, and however patient and peace-loving the Linux-using community will be, almost everybody will expect you to have tried one or more of the methods in this section before asking them, and the ways in which this viewpoint is expressed may be rather harsh if you prove not to have followed this basic rule.</para>
</sect2>
<sect2 id="sect_02_03_02"><title>The man pages</title>
<para>A lot of beginning users fear the man (manual) pages, because they are an overwhelming source of documentation. They are, however, very structured, as you will see from the example below on: <command>man <option>man</option></command>.</para>
<para>Reading man pages is usually done in a terminal window when in graphical mode, or just in text mode if you prefer it. Type the command like this at the prompt, followed by <keycap>Enter</keycap>:</para>
<para>A lot of beginning<indexterm><primary>man pages</primary><secondary>man man</secondary></indexterm> users fear the man (manual) pages, because they are an overwhelming source of documentation. They are, however, very structured, as you will see from the example below on: <command>man <option>man</option></command>.</para>
<para>Reading man pages is usually done in a terminal window when in graphical mode, or just in text mode if you prefer it. Type the command<indexterm><primary>man</primary><secondary>example</secondary></indexterm> like this at the prompt, followed by <keycap>Enter</keycap>:</para>
<screen>
<prompt>yourname@yourcomp ~&gt;</prompt> <command>man <parameter>man</parameter></command>
</screen>
@ -261,15 +261,15 @@ OPTIONS
-C config_file
lines 1-27
</screen>
<para>Browse to the next page using the space bar. You can go back to the previous page using the b-key. When you reach the end, <command>man</command> will usually quit and you get the prompt back. Type <keycap>q</keycap> if you want to leave the man page before reaching the end, or if the viewer does not quit automatically at the end of the page.</para>
<para>Browse to the next page using<indexterm><primary>man pages</primary><secondary>browsing</secondary></indexterm> the space bar. You can go back to the previous page using the b-key. When you reach the end, <command>man</command> will usually quit and you get the prompt back. Type <keycap>q</keycap> if you want to leave the man page before reaching the end, or if the viewer does not quit automatically at the end of the page.</para>
<note><title>Pagers</title>
<para>The available key combinations for manipulating the man pages depend on the <emphasis>pager</emphasis> used in your distribution. Most distributions use <command>less</command> to view the man pages and to scroll around. See <xref linkend="sect_03_03_04_02" /> for more info on pagers.</para>
<para>The available key combinations for manipulating the man pages depend on the <emphasis>pager</emphasis> used in your distribution. Most distributions use <command>less<indexterm><primary>less</primary><secondary>pager for man</secondary></indexterm></command> to view the man pages and to scroll around. See <xref linkend="sect_03_03_04_02" /> for more info on pagers.</para>
</note>
<para>Each man page usually contains a couple of standard sections, as we can see from the <command>man <option>man</option></command> example:</para>
<para>Each man page usually contains a couple of standard sections<indexterm><primary>man pages</primary><secondary>structure</secondary></indexterm>, as we can see from the <command>man <option>man</option></command> example:</para>
<itemizedlist>
<listitem><para>The first line contains the name of the command you are reading about, and the id of the section in which this man page is located. The man pages are ordered in chapters. Commands are likely to have multiple man pages, for example the man page from the user section, the man page from the system admin section, and the man page from the programmer section.</para></listitem>
<listitem><para>The name of the command and a short description are given, which is used for building an index of the man pages. You can look for any given search string in this index using the <command>apropos</command> command.</para></listitem>
<listitem><para>The synopsis of the command provides a technical notation of all the options and/or arguments this command can take. You can think of an option as a way of executing the command. The argument is what you execute it on. Some commands have no options or no arguments. Optional options and arguments are put in between <quote>[</quote> and <quote>]</quote> to indicate that they can be left out.</para></listitem>
<listitem><para>The name of the command and a short description are given, which is used for building an index of the man pages. You can look for any given search string in this index using the <command>apropos<indexterm><primary>apropos</primary></indexterm></command> command.</para></listitem>
<listitem><para>The synopsis<indexterm><primary>commands</primary><secondary>synopsis</secondary></indexterm> of the command provides a technical notation of all the options and/or arguments this command can take. You can think of an option as a way of executing the command. The argument is what you execute it on. Some commands have no options or no arguments. Optional options and arguments are put in between<indexterm><primary>square brackets</primary></indexterm> <quote>[</quote> and <quote>]</quote> to indicate that they can be left out.</para></listitem>
<listitem><para>A longer description of the command is given.</para></listitem>
<listitem><para>Options with their descriptions are listed. Options can usually be combined. If not so, this section will tell you about it.</para></listitem>
<listitem><para>Environment describes the shell variables that influence the behavior of this command (not all commands have this).</para></listitem>
@ -278,7 +278,7 @@ lines 1-27
<listitem><para>Usually there is also information about known bugs (anomalies) and where to report new bugs you may find.</para></listitem>
<listitem><para>There might also be author and copyright information.</para></listitem>
</itemizedlist>
<para>Some commands have multiple man pages. For instance, the <command>passwd</command> command has a man page in section 1 and another in section 5. By default, the man page with the lowest number is shown. If you want to see another section than the default, specify it after the <command>man</command> command:</para>
<para>Some commands have multiple<indexterm><primary>commands</primary><secondary>multiple man pages</secondary></indexterm> man pages. For instance, the <command>passwd</command> command has a man page<indexterm><primary>man pages</primary><secondary>sections</secondary></indexterm> in section 1 and another in section 5. By default, the man page with the lowest number is shown. If you want to see another section than the default, specify it after the <command>man</command> command:</para>
<cmdsynopsis><command>man <option>5</option> <parameter>passwd</parameter></command></cmdsynopsis>
<para>If you want to see all man pages about a command, one after the other, use the <option>-a</option> to man:</para>
<cmdsynopsis><command>man <option>-a</option> <parameter>passwd</parameter></command></cmdsynopsis>
@ -286,8 +286,8 @@ lines 1-27
</sect2>
<sect2 id="sect_02_03_03"><title>More info</title>
<sect3 id="sect_02_03_03_01"><title>The Info pages</title>
<para>In addition to the man pages, you can read the info pages about a command, using the <command>info</command> command. These usually contain more recent information and are somewhat easier to use. The man pages for some commands refer to the info pages.</para>
<para>Get started by typing <command>info <parameter>info</parameter></command> in a terminal window:</para>
<para>In addition to the man pages, you can read the info pages<indexterm><primary>info pages</primary></indexterm> about a command, using the <command>info<indexterm><primary>info</primary></indexterm></command> command. These usually contain more recent information and are somewhat easier to use. The man pages for some commands refer to the info pages.</para>
<para>Get started by typing<indexterm><primary>info</primary><secondary>info info</secondary></indexterm> <command>info <parameter>info</parameter></command> in a terminal<indexterm><primary>info</primary><secondary>example</secondary></indexterm> window:</para>
<screen>
File: info.info, Node: Top, Next: Getting Started, Up: (dir)
@ -314,16 +314,16 @@ command `h' now. It brings you to a programmed instruction sequence.
--zz-Info: (info.info.gz)Top, 24 lines --Top-------------------------------
Welcome to Info version 4.2. Type C-h for help, m for menu item.
</screen>
<para>Use the arrow keys to browse through the text and move the cursor on a line starting with an asterisk, containing the keyword about which you want info, then hit <keycap>Enter</keycap>. Use the <keycap>P</keycap> and <keycap>N</keycap> keys to go to the previous or next subject. The space bar will move you one page further, no matter whether this starts a new subject or an info page for another command. Use <keycap>Q</keycap> to quit. The <command>info</command> program has more information.</para>
<para>Use the arrow<indexterm><primary>info pages</primary><secondary>browsing</secondary></indexterm> keys to browse through the text and move the cursor on a line starting with an asterisk, containing the keyword about which you want info, then hit <keycap>Enter</keycap>. Use the <keycap>P</keycap> and <keycap>N</keycap> keys to go to the previous or next subject. The space bar will move you one page further, no matter whether this starts a new subject or an info page for another command. Use <keycap>Q</keycap> to quit. The <command>info</command> program has more information.</para>
</sect3>
<sect3 id="sect_02_03_03_02"><title>The whatis and apropos commands</title>
<para>A short index of explanations for commands is available using the <command>whatis</command> command, like in the examples below:</para>
<para>A short index of explanations for commands is available using the <command>whatis<indexterm><primary>whatis</primary><secondary>example</secondary></indexterm></command> command, like in the examples below:</para>
<screen>
<prompt>[your_prompt]</prompt> <command>whatis ls</command>
ls (1) - list directory contents
</screen>
<para>This displays short information about a command, and the first section in the collection of man pages that contains an appropriate page.</para>
<para>If you don't know where to get started and which man page to read, <command>apropos</command> gives more information. Say that you don't know how to start a browser, then you could enter the following command:</para>
<para>If you don't know where to get started and which man page to read, <command>apropos<indexterm><primary>apropos</primary><secondary>example</secondary></indexterm></command> gives more information. Say that you don't know how to start a browser, then you could enter the following command:</para>
<screen>
<prompt>another prompt&gt;</prompt> <command>apropos browser</command>
Galeon [galeon](1) - gecko-based GNOME web browser
@ -340,7 +340,7 @@ viewres (1x) - graphical class browser for Xt
<para>After pressing <keycap>Enter</keycap> you will see that a lot of browser related stuff is on your machine: not only web browsers, but also file and FTP browsers, and browsers for documentation. If you have development packages installed, you may also have the accompanying man pages dealing with writing programs having to do with browsers. Generally, a command with a man page in section one, so one marked with <quote>(1)</quote>, is suitable for trying out as a user. The user who issued the above <command>apropos</command> might consequently try to start the commands <command>galeon</command>, <command>lynx</command> or <command>opera</command>, since these clearly have to do with browsing the world wide web.</para>
</sect3>
<sect3 id="sect_02_03_03_03"><title>The --help option</title>
<para>Most GNU commands support the <option>--help</option>, which gives a short explanation about how to use the command and a list of available options. Below is the output of this option with the <command>cat</command> command:</para>
<para>Most GNU commands support<indexterm><primary>options</primary><secondary>--help</secondary></indexterm> the <option>--help</option>, which gives a short explanation<indexterm><primary>help</primary><secondary>option</secondary></indexterm> about how to use the command and a list of available options. Below is the output of this option with the <command>cat</command> command<indexterm><primary>help</primary><secondary>example</secondary></indexterm>:</para>
<screen>
<prompt>userprompt@host:</prompt> <command>cat --help</command>
Usage: cat [OPTION] [FILE]...
@ -366,7 +366,7 @@ Report bugs to &lt;bug-textutils@gnu.org&gt;.
</screen>
</sect3>
<sect3 id="sect_02_03_04"><title>Graphical help</title>
<para>Don't despair if you prefer a graphical user interface. Konqueror, the default KDE file manager, provides painless and colourful access to the man and Info pages. You may want to try <quote>info:info</quote> in the <emphasis>Location</emphasis> address bar, and you will get a browsable Info page about the <command>info</command> command. Similarly, <quote>man:ls</quote> will present you with the man page for the <command>ls</command> command. You even get command name completion: you will see the man pages for all the commands starting with <quote>ls</quote> in a scroll-down menu. Entering <quote>info:/dir</quote> in the address location toolbar displays all the Info pages, arranged in utility categories. Excellent <menuchoice><guimenu>Help</guimenu></menuchoice> content, including the Konqueror Handbook. Start up from the menu or by typing the command <command>konqueror</command> in a terminal window, followed by <keycap>Enter</keycap>; see the screenshot below.</para>
<para>Don't despair if you prefer a graphical<indexterm><primary>help</primary><secondary>graphical</secondary></indexterm> user interface. Konqueror<indexterm><primary>Konqueror</primary><secondary></secondary></indexterm>, the default KDE file manager, provides painless and colourful access to the man and Info pages. You may want to try <quote>info:info</quote> in the <emphasis>Location</emphasis> address bar, and you will get a browsable Info page about the <command>info</command> command. Similarly, <quote>man:ls</quote> will present you with the man page for the <command>ls</command> command. You even get command name completion: you will see the man pages for all the commands starting with <quote>ls</quote> in a scroll-down menu. Entering <quote>info:/dir</quote> in the address location toolbar displays all the Info pages, arranged in utility categories. Excellent <menuchoice><guimenu>Help</guimenu></menuchoice> content, including the Konqueror Handbook. Start up from the menu or by typing the command <command>konqueror</command> in a terminal window, followed by <keycap>Enter</keycap>; see the screenshot<indexterm><primary>man pages</primary><secondary>graphical</secondary></indexterm> below.</para>
<figure><title>Konqueror as help browser</title>
<mediaobject>
@ -379,14 +379,14 @@ Report bugs to &lt;bug-textutils@gnu.org&gt;.
</textobject>
</mediaobject>
</figure>
<para>The Gnome Help Browser is very user friendly as well. You can start it selecting <menuchoice><guimenu>Applications</guimenu><guimenuitem>Help</guimenuitem></menuchoice> from the Gnome menu, by clicking the lifeguard icon on your desktop or by entering the command <command>gnome-help</command> in a terminal window. The system documentation and man pages are easily browsable with a plain interface.</para>
<para>The <command>nautilus</command> file manager provides a searchable index of the man and Info pages, they are easily browsable and interlinked. Nautilus is started from the command line, or clicking your home directory icon, or from the Gnome menu.</para>
<para>The Gnome Help Browser<indexterm><primary>help</primary><secondary>Gnome Help</secondary></indexterm> is very user friendly as well. You can start it selecting <menuchoice><guimenu>Applications</guimenu><guimenuitem>Help</guimenuitem></menuchoice> from the Gnome menu, by clicking the lifeguard icon on your desktop or by entering the command <command>gnome-help</command> in a terminal window. The system documentation and man pages are easily browsable with a plain interface.</para>
<para>The <command>nautilus<indexterm><primary>nautilus</primary></indexterm></command> file manager provides a searchable index of the man and Info pages, they are easily browsable and interlinked. Nautilus is started from the command line, or clicking your home directory icon, or from the Gnome menu.</para>
<para>The big advantage of GUIs for system documentation is that all information is completely interlinked, so you can click through in the <quote>SEE ALSO</quote> sections and wherever links to other man pages appear, and thus browse and acquire knowledge without interruption for hours at the time.</para>
</sect3>
<sect3 id="sect_02_03_05"><title>Exceptions</title>
<para>Some commands don't have separate documentation, because they are part of another command. <command>cd</command>, <command>exit</command>, <command>logout</command> and <command>pwd</command> are such exceptions. They are part of your shell program and are called <emphasis>shell built-in</emphasis> commands. For information about these, refer to the man or info page of your shell. Most beginning Linux users have a Bash shell. See <xref linkend="sect_03_02_03_02" /> for more about shells.</para>
<para>Some commands don't have separate documentation, because they are part of another<indexterm><primary>commands</primary><secondary>built-ins</secondary></indexterm> command. <command>cd</command>, <command>exit</command>, <command>logout</command> and <command>pwd</command> are such exceptions. They are part of your shell program and are called <emphasis>shell built-in</emphasis> commands. For information about these, refer to the man or info page of your shell. Most beginning Linux users have a Bash shell. See <xref linkend="sect_03_02_03_02" /> for more about shells.</para>
<para>If you have been changing your original system configuration, it might also be possible that man pages are still there, but not visible because your shell environment has changed. In that case, you will need to check the <varname>MANPATH</varname> variable. How to do this is explained in <xref linkend="sect_07_02_02" />.</para>
<para>Some programs or packages only have a set of instructions or references in the directory <filename>/usr/share/doc</filename>. See <xref linkend="sect_03_03_04" /> to display.</para>
<para>Some programs or packages only have a set of instructions or references in the directory <filename>/usr/share/doc<indexterm><primary>help</primary><secondary>/usr/share/doc</secondary></indexterm></filename>. See <xref linkend="sect_03_03_04" /> to display.</para>
<para>In the worst case, you may have removed the documentation from your system by accident (hopefully by accident, because it is a very bad idea to do this on purpose). In that case, first try to make sure that there is really nothing appropriate left using a search tool, read on in <xref linkend="sect_03_03_03" />. If so, you may have to re-install the package that contains the command to which the documentation applied, see <xref linkend="sect_07_06" />.</para>
</sect3>
</sect2>

File diff suppressed because it is too large Load Diff