tutes-dump/site-tutorials/unx/node6.html

313 lines
9.8 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.50)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>5. Learning More</TITLE>
<META NAME="description" CONTENT="5. Learning More">
<META NAME="keywords" CONTENT="unx">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="unx.css">
<LINK REL="next" HREF="node7.html">
<LINK REL="previous" HREF="node5.html">
<LINK REL="up" HREF="unx.html">
<LINK REL="next" HREF="node7.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html219"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="../img/latex2html/next.png"></A>
<A NAME="tex2html215"
HREF="unx.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="../img/latex2html/up.png"></A>
<A NAME="tex2html209"
HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="../img/latex2html/prev.png"></A>
<A NAME="tex2html217"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="../img/latex2html/contents.png"></A>
<A NAME="tex2html1"
HREF="../"><IMG
ALIGN="BOTTOM" SRC="../img/latex2html/root.png"
ALT="root">
</A>
<BR>
<B> Next:</B> <A NAME="tex2html220"
HREF="node7.html">6. Super Dimension Fortress</A>
<B> Up:</B> <A NAME="tex2html216"
HREF="unx.html">Introduction to Unix &amp;</A>
<B> Previous:</B> <A NAME="tex2html210"
HREF="node5.html">4. Some Basic Commands</A>
&nbsp <B> <A NAME="tex2html218"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html221"
HREF="#SECTION00610000000000000000">5.1 The Man</A>
<UL>
<LI><A NAME="tex2html222"
HREF="#SECTION00611000000000000000">5.1.1 The man is for real</A>
</UL>
<BR>
<LI><A NAME="tex2html223"
HREF="#SECTION00620000000000000000">5.2 Gnu info</A>
<LI><A NAME="tex2html224"
HREF="#SECTION00630000000000000000">5.3 Books</A>
<LI><A NAME="tex2html225"
HREF="#SECTION00640000000000000000">5.4 Folklore</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION00600000000000000000">
5. Learning More</A>
</H1>
<P>
<H1><A NAME="SECTION00610000000000000000">
5.1 The Man</A>
</H1>
<P>
Most of a unix system is documented in the online manual,
called the <EM>man</EM>. If you want to know about a program,
you look it up in the <EM>man</EM>. For example, if you want
to learn more about the <EM>ls</EM> program, type ``<TT>man
ls</TT>''.
<P>
The man also has a simple search capability. The ``<TT>-k</TT>'' command line option tells the man to give you a list
of entries that mention a particular keyword, which you also
supply on the command line. If you want to
get a list of the manual entries that menion networking, you
would type ``<TT>man -k network</TT>''.
<P>
The man is divided into sections. If you don't specify a
section when you ask the man to lookup documentation for a
program, the man takes a guess about what section you mean,
&amp; it usually assumes you mean the most general, high-level
section available (section 1). You can specify a section as
the second argument to <EM>man</EM>, before the keyword. For
example, if I want to read about the <TT>select</TT> function
in section 2 (the kernel API), I would type ``<TT>man 2
select</TT>''.
<P>
Here are some things I recommend reading in the man to get
started with unix. I give you the exact command to type,
then an explanation of why I recommend that entry in the man.
<P>
<DL>
<DT><STRONG>man man</STRONG></DT>
<DD>This tells you how to use the online manual.
</DD>
<DT><STRONG>man 1 intro</STRONG></DT>
<DD>This tells you about the general section
of the online manual. You should also try ``<TT>man 2
intro</TT>'' &amp; all the other intros for sections 3 through
9.
</DD>
<DT><STRONG>man mutt</STRONG></DT>
<DD>Tells you how to use <EM>mutt</EM>, the e-mail
reader.
</DD>
<DT><STRONG>man pine</STRONG></DT>
<DD>Tells you how to use <EM>pine</EM>, the e-mail
reader.
</DD>
<DT><STRONG>man sh</STRONG></DT>
<DD>Tells you how to use &amp; program the shell.
</DD>
<DT><STRONG>man 4 tcp</STRONG></DT>
<DD>Tells you how to program TCP sockets. I
suggest it here as an example of the breadth of
information that's available in the online manual.
</DD>
</DL>
<P>
<H2><A NAME="SECTION00611000000000000000">
5.1.1 The man is for real</A>
</H2>
<P>
I tell newbies about the man all the time, but they usually don't
try it.
<P>
I don't know why they don't believe me. I started
using unix in college in 1985. In a class, the professor
gave everyone an account &amp; told us to login after class &amp;
type ``<TT>man man</TT>''. He didn't tell us anything else,
not even what ``man man'' would do. By exploring the manual
on my own time for a couple of evenings, plus a couple of
conversations with the unix gurus that worked in the lab, I
was pretty good with unix. It was an excellent way to start
using &amp; programming unix.
<P>
Maybe the newbies do believe me, but they're lazy.
<P>
<H1><A NAME="SECTION00620000000000000000">
5.2 Gnu info</A>
</H1>
<P>
Besides the unix <EM>man</EM>, Gnu/Linux computers usually have
some information in a hypertext system call <EM>info</EM>.
<P>
To use <EM>info</EM> from the command line, just type ``<TT>info</TT>''. If you are a Gnu Emacs user, you can run emacs &amp;
type Meta-x <TT>info</TT>, &amp; you'll be presented with the same
data in the same format that <EM>info</EM> would.
<P>
<EM>Info</EM> is an interactive hypertext system. It predates
the Web by at least five years, methinks. Read &amp; follow
the instructions on the screen &amp; you'll be alright.
<P>
<EM>Info</EM> systems are not always maintained as well as the
man, but most are pretty good, &amp; some have a lot of
excellent information. It is often well-written, too. It's
an enjoyable read, &amp; since you can page through the entire
system one screen-full at a time by typing the Space bar,
it's convenient to read.
<P>
Though it's not for beginning users, I'll mention here that
one of my favorite sections in <EM>info</EM> is the
documentation for Autoconf.
<P>
<H1><A NAME="SECTION00630000000000000000">
5.3 Books</A>
</H1>
<P>
I can't recommend any books on using unix. I learned it so
long ago that I don't remember what books I used, or even if
I used any books. Here are some interesting books about
unix, though not exactly about <EM>using</EM> unix.
<P>
I like Mike&nbsp;Gancarz's book, <EM>The Unix Philosophy</EM>, a
lot. It talks about the reasons behind writing applications
the unix way: with small programs piped together, &amp; with
flat, plain text data files. I have heard that
Eric&nbsp;Raymond's book, <EM>The Art of UNIX Programming</EM>,
is similar &amp; also good, but I haven't read it
myself.<A NAME="tex2html13"
HREF="footnode.html#foot277"><SUP>5.1</SUP></A>
<P>
Even though we're talking about using unix, I think an
understanding of how operating systems work is useful to
know, &amp; Andrew&nbsp;S.&nbsp;Tanenbaum's <EM>Modern Operating
Systems</EM> is an excellent book. It includes a good
section about unix. He points out that the defining
characteristic about early unix was its 40 system
calls. We've added more system calls, but the unix kernel
still has a fairly small number of elegant, well-chosen
system calls. That's an important part of what makes unix
what it is.
<P>
<H1><A NAME="SECTION00640000000000000000">
5.4 Folklore</A>
</H1>
<P>
One of the cool things about unix is that it has played an
intimate part in the folklore of computing since the late
1970s. There are all sorts of interesting tales &amp;
personalities to explain or help you remember why something
was done a particular way. The history is not hidden inside
a corporation. It's out in the open, &amp; lots of people know it.
<P>
That's also one of the bad things about unix because it
means you need to talk to people to learn what you need to
learn next. Hopefully people will write downt he folklore
&amp; also link to it so that new unix users &amp; programmers can
find it.
<P>
You can learn the folklore by talking (or typing) to an
experienced unix user or programmer. A good place to read
about it online is <A NAME="tex2html14"
HREF="http://catb.org/~esr/jargon/html/">The Jargon
File</A>.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html219"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="../img/latex2html/next.png"></A>
<A NAME="tex2html215"
HREF="unx.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="../img/latex2html/up.png"></A>
<A NAME="tex2html209"
HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="../img/latex2html/prev.png"></A>
<A NAME="tex2html217"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="../img/latex2html/contents.png"></A>
<A NAME="tex2html1"
HREF="../"><IMG
ALIGN="BOTTOM" SRC="../img/latex2html/root.png"
ALT="root">
</A>
<BR>
<B> Next:</B> <A NAME="tex2html220"
HREF="node7.html">6. Super Dimension Fortress</A>
<B> Up:</B> <A NAME="tex2html216"
HREF="unx.html">Introduction to Unix &amp;</A>
<B> Previous:</B> <A NAME="tex2html210"
HREF="node5.html">4. Some Basic Commands</A>
&nbsp <B> <A NAME="tex2html218"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Gene Michael Stover
2005-07-07
</ADDRESS>
</BODY>
</HTML>