Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unix Training

0 views
Skip to first unread message

Jim Harkins

unread,
Feb 2, 1993, 6:15:59 PM2/2/93
to
About a month ago I was asked by my boss to give some training for my users.
I promply posted a request to the net and got swamped with 'please pass along
anything you get'. Well, I didn't get much so I wrote my own. And now I'm
posting it.

jim

#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed tncli as standard input via
# unshar, or by typing "sh <file", e.g.. If tncli archive is complete, you
# will see the following message at the end:
# "End of shell archive."
# Contents: README Makefile cshrc.tex docs.tex editors.tex format.tex
# intro.tex login.tex mail.tex news.tex other.tex password.tex
# printing.tex rcs.tex scripts.tex train.tex
# Wrapped by jimh@cerebus on Tue Feb 2 15:11:36 1993
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(1739 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
XAbout a month ago I was asked by my boss to give some training for my users.
XI promply posted a request to the net and got swamped with 'please pass along
Xanything you get'. Well, I didn't get much so I wrote my own. And now I'm
Xposting it.
X
XThis group of files is protected with the Gnu copyleft. You can do what you
Xwant with it, but don't sell it. I'd appreciate any improvements you make on
Xit though.
X
XSome quick notes:
X
X1. Prepared using the seminar stylesheet for LaTeX. Seminar is wonderful,
X I recommend it. I won't mail it to you, and it isn't in the uunet archives.
X You'll need to ftp it from somewhere.
X
X2. I use tapstops of 4.
X
X3. My target audience ranged from people who had accounts but couldn't figure
X out how to edit their autoexec.bat file, to people who had a good
X understanding of CVS and News but had passwords like smiles and didn't know
X how to change it.
X
X4. I've hacked this a bit to remove everybodies name but my own, and to
X remove machine names. I don't know why, I just felt it was a Good Thing.
X
X5. This is over 70 pages long. To give my presentation I had a doohickey that
X went over an overhead projector. This was plugged into a PC, whatever
X was displayed on the PC was projected onto the screen. I compiled
X Ghostscript on a PC to display the PostScript slides.
X
X6. When I give a talk I use slides to remind myself of what I want to talk
X about. Thus this is an outline only.
X
X7. I've gotten nothing but good comments about this, some said it was an
X execeptional presentation. This means 1 of 2 things: It was really good,
X or they don't want me disabling their accounts :-)
X
XEnjoy!
X
XJim Harkins
Xj...@pacdata.com
XPacific Data Products
X2/1/93
X
END_OF_FILE
if test 1739 -ne `wc -c <'README'`; then
echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'Makefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(290 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X
XSRC = cshrc.tex docs.tex editors.tex format.tex \
X intro.tex login.tex mail.tex news.tex other.tex password.tex \
X printing.tex rcs.tex scripts.tex train.tex
X
Xtrain.ps: $(SRC)
X latex train.tex
X latex train.tex
X dvips -f train.dvi > train.ps
X
Xclean:
X rm -f *.aux *.log *.ps *.dvi *.toc
END_OF_FILE
if test 290 -ne `wc -c <'Makefile'`; then
echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'cshrc.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'cshrc.tex'\"
else
echo shar: Extracting \"'cshrc.tex'\" \(697 characters\)
sed "s/^X//" >'cshrc.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{.login and .cshrc }
X \subsection{What's the difference?}
X \begin{itemize}
X \item Both get executed when logging on
X \item .login only executed at login time
X \item .cshrc executed every time a shell is created
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{.login}
X \begin{itemize}
X \item Set shell variables with set
X \item Set environment variables with setenv
X \item Set your path with ``set path=''
X \item Set terminal settings with stty
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{.csrhc}
X \begin{itemize}
X \item Set aliases.
X \item Use ``\verb+\!*+'' for arguments.
X \item Ex: alias ll 'ls -al \verb+\!*+'
X \end{itemize}
X\end{slide*}
X
X
END_OF_FILE
if test 697 -ne `wc -c <'cshrc.tex'`; then
echo shar: \"'cshrc.tex'\" unpacked with wrong size!
fi
# end of 'cshrc.tex'
fi
if test -f 'docs.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'docs.tex'\"
else
echo shar: Extracting \"'docs.tex'\" \(5349 characters\)
sed "s/^X//" >'docs.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Online documentation}
X \subsection{Unix rule \#1 - RTFM}
X \begin{itemize}
X \item Online manual (man) pages.
X \item Readme files (e.g. /usr/local/gnu-src/README).
X \item Large manuals (e.g.
X /usr/local/gnu-src/g960/doc/misc/gcc/gcc-user.ms, over 200 pages of
X documentation on gcc.
X \item Look for files ending with .ms, .man, .tex.
X \item Where applicable, don't let on you WTFM.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Man is your friend}
X \begin{itemize}
X \item All system commands are documented with on-line man pages.
X These were formerly known as ``The Unix Programmer's Manual''.
X \item Man pages are displayed with the ``man'' command.
X \item Typing ``man man'' is good practice.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \begin{itemize}
X \item Each man page has the following fields:
X \begin{description}
X \item[Name] Name of the command and a brief description of
X what it does. Alternative commands are listed if present.
X \item[Synopsis] Shows how the command is used. Possible options to the
X command and the type of expected argument(s) are indicated.
X \item[Description] Gives more detail to what the command does, and
X how it's action is modified by options.
X \item[Options] Lists the options available and explains what they do.
X \item[Files] Lists the names of any files which are important to the
X command.
X \item[See Also] Lists other commands or documentationthat might be
X useful to the reader.
X \item[Diagnostics] Explains error messages when options are misused.
X \item[Bugs] Nobody's perfect.
X \item[Author] Indicates who wrote the program.
X \end{description}
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{Layout of /usr/man}
X \begin{itemize}
X \item Man pages are divided into the following sections:
X \begin {description}
X \item[1] Commands (ls, rm)
X \item[2] System Calls (lseek, wait, vfork)
X \item[3] Subroutines (bcopy, strcmp)
X \item[4] Special files (device drivers, interfaces, protocols)
X \item[5] File formats and conventions (printcap, ttytab)
X \item[6] Games (Not that we have any)
X \item[7] Macro Packages and language conventions
X (ms, man, me, posix)
X \item[8] Maintenance commands and procedures (shutdown, halt, rarpd)
X \item[l] Local commands (gcc, less, trn)
X \end{description}
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{What command does foo?}
X \begin{itemize}
X \item man -k keyword prints out one-line summaries of man pages
X that contain any of the given keywords in the name field of the
X man page.
X
X \begin{itemize}
X \item For example, here is a partial result of ``man -k gnu''
X \begin{description}
X \item[gcc960 (1GNU)] - GNU/960 C Compiler for Intel i960
X \item[gdb960 (1GNU)] - GNU symbolic debugger for the i960
X \item[emacs (1)] - GNU project Emacs
X \item[gnuplot (1)] - an interactive plotting program
X \item[lasergnu (l)] - send gnuplot output to a printer
X \end{description}
X
X \item Another method is to follow ``SEE ALSO'' references.
X This works well if you don't know enough about what you want
X to do so that man -k only gives 1-2 commands.
X \end{itemize}
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Where are the man pages?}
X \begin{itemize}
X \item /usr/man is where most of them live. The output of ls is:
X
X \begin{verbatim}
X cat1/ cat6/ man1/ man6/ whatis
X cat2/ cat7/ man2/ man7/
X cat3/ cat8/ man3/ man8/
X cat4/ catl/ man4/ manl/
X cat5/ catn/ man5/ mann/
X \end{verbatim}
X
X \item cat? are formatted pages, man? unformatted pages.
X \item Unformatted pages for section 1 are in man1, those for
X section 2 are in man2, etc. Local commands are in manl.
X Same scheme goes for the formatted pages in cat?.
X \item whatis is a database used by man -k.
X \item Some packages like to use catn and mann.
X \end{itemize}
X
X\end{slide*}
X\begin{slide*}
X \subsection{Answerbook}
X \begin{itemize}
X \item The AnswerBook is a CD-ROM based document retrieval system
X containing the many thousands of pages of Sun documentation.
X \item Contains the SunOS documentation, books on OpenWindows,
X getting started guides, installation guides.
X \item Access is via Navigator and Viewer.
X \item Only runs on OpenWindows.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsubsection{Navigator}
X \begin{itemize}
X \item 3 ways to find information
X \begin{itemize}
X \item In Contents mode you browse through book tables of
X contents, opening and closing books, chapters, and
X sections at will.
X \item In Search mode you can get relevance-ranked answers
X to your typed, plaintext queries.
X \item In Bookmark mode, you can mark and annotate pages
X displayed in the viewer.
X \end{itemize}
X \item Searches the entire document for keywords. man -k only
X searches the description line of a document.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \begin{itemize}
X \item To run Answerbook add the following to your .login.
X \begin{itemize}
X \item setenv ABHOME /home/AnswerBook
X \item setenv BOOKINFO \$ABHOME/bookinfo
X \item Add \$ABHOME/bin to your path.
X \end{itemize}
X \item Strange errors are typically caused by the CD being removed from
X the drive.
X \end{itemize}
X\end{slide*}
END_OF_FILE
if test 5349 -ne `wc -c <'docs.tex'`; then
echo shar: \"'docs.tex'\" unpacked with wrong size!
fi
# end of 'docs.tex'
fi
if test -f 'editors.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'editors.tex'\"
else
echo shar: Extracting \"'editors.tex'\" \(1153 characters\)
sed "s/^X//" >'editors.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Editors}
X \subsection{vi}
X \begin{itemize}
X \item Standard Unix editor.
X \item Built on top of ex.
X \item Cryptic, hard to learn.
X \item Well worth learning.
X \item Versions for PC available.
X \item Source for several clones available.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{crisp}
X \begin{itemize}
X \item Brief clone.
X \item Source code online.
X \item cr won't work with OpenWindows.
X \item Shareware xcr runs in an xterm, has numerous bugs.
X \item Currently a commercial product we should pay for.
X \item xxx is the crisp guru.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{emacs}
X \begin{itemize}
X \item Advanced, self-documenting, customizable, extensible, real-time
X display editor.
X \item Open multiple windows, define keyboard macros.
X \item Built in support for mail, news.
X \item More an environment than an editor.
X \item Source code online.
X \item Probably better than vi.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{text editor}
X \begin{itemize}
X \item Graphical editor.
X \item Runs under OpenWindows.
X \item Mouse based.
X \end{itemize}
X\end{slide*}
X
X
END_OF_FILE
if test 1153 -ne `wc -c <'editors.tex'`; then
echo shar: \"'editors.tex'\" unpacked with wrong size!
fi
# end of 'editors.tex'
fi
if test -f 'format.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'format.tex'\"
else
echo shar: Extracting \"'format.tex'\" \(2822 characters\)
sed "s/^X//" >'format.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Text Formatters}
X \subsection{nroff, troff, psroff}
X \begin{itemize}
X \item Formatting commands are embedded in the document.
X \item Editing and formatting are 2 distinct actions.
X \item Very low level formatting commands, macro packages provide high
X level requests.
X \item nroff - output good for viewing on a terminal.
X \item troff - output goes to a phototypesetter.
X \item psroff - output is PostScript.
X \item Ex: \verb+psroff foo | lpr -Pplj+
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{the ms macro package}
X \begin{itemize}
X \item Most used package.
X \item Specific commands for things like indented paragraph, title page,
X two column, etc.
X \item Automatically provides page headers, footers, and numbering.
X \item Ex: \verb+psroff -ms foo.ms | lpr -Pplj+
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{the man macro package}
X \begin{itemize}
X \item Used to format online manuals.
X \item The man command automatically uses -man to format.
X \item Ex: \verb+psroff -man /usr/man/man1/man.1 | lpr -Pplj+
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{tbl and eqn}
X \begin{itemize}
X \item tbl is used to layout tables.
X \item eqn is used to layout equations.
X \item Both are preprocessors to roff.
X \item Ex: \verb+ eqn thesis.ms | tbl | psroff -ms | lpr -Pplj+
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{\TeX and \LaTeX}
X \subsubsection{\TeX}
X \begin{itemize}
X \item \TeX written by Donald Knuth for typsetting mathmatics.
X \item The goal is to produce the finest quality output.
X \item Easier to use than roff.
X \item Pronounced ``tek''.
X \item Output is device independent (dvi).
X \item Source code is online.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{\LaTeX}
X \begin{itemize}
X \item System of \TeX macros that make formatting much easier.
X \item Represents a balance between functionality and ease of use.
X \item Full power of \TeX available if you want to use it.
X \item This presentation done in \LaTeX with a special package to
X produce slides (seminar).
X \item Source code is online.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{dvips}
X \begin{itemize}
X \item Converts dvi files to PostScript.
X \item Fonts used may either be resident in the printer or defined
X as bitmaps in PK files, or a ``virtual'' combination of both.
X \item Automatically invokes METAFONT to generate fonts
X that don't already exist.
X \item Ex: \verb+dvips -f thesis.dvi | lpr -Pplj+
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{xdvi and pageview}
X \begin{itemize}
X \item xdvi used to preview DVI files on the screen.
X \item pageview is an interactive PostScript previewer.
X \item Both require Openwindows.
X \item Source code to xdvi is online.
X \end{itemize}
X\end{slide*}
X
END_OF_FILE
if test 2822 -ne `wc -c <'format.tex'`; then
echo shar: \"'format.tex'\" unpacked with wrong size!
fi
# end of 'format.tex'
fi
if test -f 'intro.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'intro.tex'\"
else
echo shar: Extracting \"'intro.tex'\" \(445 characters\)
sed "s/^X//" >'intro.tex' <<'END_OF_FILE'
X\section{Introduction}
X
X\begin{center}
XWhat this class will cover.
X\end{center}
X
X\begin{itemize}
X \item Logging on
X \item Printing
X \item Online documentation
X \item Layout of the File System
X \item Passwords
X \item ls
X \item File Permissions
X \item Groups
X \item .login and .cshrc
X \item Mail
X \item Editors
X \item Text Formatters
X \item RCS and CVS
X \item Script Files
X \item It doesn't work
X \item Other Sources of Information
X\end{itemize}
END_OF_FILE
if test 445 -ne `wc -c <'intro.tex'`; then
echo shar: \"'intro.tex'\" unpacked with wrong size!
fi
# end of 'intro.tex'
fi
if test -f 'login.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'login.tex'\"
else
echo shar: Extracting \"'login.tex'\" \(2044 characters\)
sed "s/^X//" >'login.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Logging on}
X \subsection{Getting an account}
X \begin{itemize}
X \item See Jim xxxxxxx (preferred) or xxxx xxxx (if Jim isn't around).
X \item Information needed:
X \begin{enumerate}
X \item Your name (Sally Struedal).
X \item Your login name (sallys).
X \item Your group (bandit, ``I work for Frank'').
X \item Your shell (sh, csh, tcsh).
X \end{enumerate}
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Using a PC to log on}
X \begin{itemize}
X \item Put in an MIS request specifying you need access to the Suns.
X \item Login via telnet, ``telnet machine\_name''.
X \item File transfer via ftp.
X \begin{itemize}
X \item ftp machine\_name
X \item login
X \item binary - ensures file tranfser is byte for byte
X \item get myfile - transfer file from PC to Sun
X \item put yourfile - transfer file from Sun to PC
X \end{itemize}
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Getting a Workstation to log on}
X \begin{itemize}
X \item Fill out a P.R. and get your boss to sign it.
X \item Con a co-worker into giving theirs up.
X \item Buy your own.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{SunView}
X \begin{itemize}
X \item SunView is a window-based environment that lets you run SunOS
X command shells, editors, debuggers, and other tools, each in
X it's own window or ``frame.'' SunView lets you look at
X several files or directories at the same time and run
X several commands at the same time.
X \item SunView was superseded by OpenWindows.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{OpenWindows}
X \begin{itemize}
X \item OpenWindows is a user environment built on the Open Look
X Graphical User Interface. It is essentially Sun's
X implementation of the X user interface.
X \item I strongly recommend OpenWindows over SunView.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{Logging in via modem}
X \begin{itemize}
X \item 4 dial up lines.
X \item Talk to xxxx xxxx or myself for instructions.
X \end{itemize}
X\end{slide*}
END_OF_FILE
if test 2044 -ne `wc -c <'login.tex'`; then
echo shar: \"'login.tex'\" unpacked with wrong size!
fi
# end of 'login.tex'
fi
if test -f 'mail.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'mail.tex'\"
else
echo shar: Extracting \"'mail.tex'\" \(1729 characters\)
sed "s/^X//" >'mail.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{email}
X \subsection{mail, mailx, Mail}
X \begin{itemize}
X \item The original mailer.
X \item mail, mailx, and Mail are 3 different mailers.
X \item Mail is preferred over the others.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{elm}
X \begin{itemize}
X \item Interactive screen-oriented mailer program that
X supercedes mail, mailx, and Mail.
X \item Menu driven interface, much easier than mail.
X \item man elm gives some docs.
X \item Other docs in /usr/local/src/elm2.3/doc.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{mailtool}
X \begin{itemize}
X \item Graphical interface to mail.
X \item Requires SunView or OpenWindows.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{addressing}
X \subsubsection{location-independent}
X \begin{itemize}
X \item location-independent address have the form us...@host.domain.
X \item Your address is ``lo...@pacdata.com'' (Ex: j...@pacdata.com)
X \item Another address is ``first\_la...@pacdata.com''
X (Ex: Jim\_Har...@pacdata.com)
X \item Try to use this form.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsubsection{route-based addressing}
X \begin{itemize}
X \item route-based addressing has the form host!path!user (Ex:
X ucsd!pacdata!jim)
X \item We currently connect to ucsd, uunet, loral.
X \item Not recommended for general use.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{411 service}
X \begin{itemize}
X \item Add ``alias 411 'rsh pdps2 grep -i \verb+\!*+
X /var/yp/ypetc/aliases' '' to your .cshrc file.
X \item source $\sim$/.cshrc
X \item Now you can type ``411 joe'' to get Joe Blow's email address.
X \item Only works for people within the company.
X \end{itemize}
X\end{slide*}
END_OF_FILE
if test 1729 -ne `wc -c <'mail.tex'`; then
echo shar: \"'mail.tex'\" unpacked with wrong size!
fi
# end of 'mail.tex'
fi
if test -f 'news.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'news.tex'\"
else
echo shar: Extracting \"'news.tex'\" \(1116 characters\)
sed "s/^X//" >'news.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{News}
X \subsection{What is it}
X \begin{itemize}
X \item A system for distributing messages simultaneously to many sites.
X \item Like email, except all messages publicly readable.
X \item Over 1 million sites, several million readers.
X \item A full feed is over 15 meg per day.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Sample newsgroups}
X \begin{itemize}
X \item comp.unix.questions
X \item comp.unix.admin
X \item comp.sys.sun
X \item comp.lang.c
X \item sci.electronics
X \item rec.humor.funny
X \item alt.fan.ren-and-stimpy
X \item See /usr/lib/news/newsgroups for a list of all groups.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Reading news}
X \begin{itemize}
X \item Use trn to read news.
X \item Threaded newsreader.
X \item ``man trn''.
X \item Source is in /usr/local/src/trn.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Posting news}
X \begin{itemize}
X \item Use postnews.
X \item ``man postnews''.
X \item Don't be a ``newbie''.
X \item Some groups are moderated.
X \item Your signature is in \$HOME/.signature.
X \end{itemize}
X\end{slide*}
X
END_OF_FILE
if test 1116 -ne `wc -c <'news.tex'`; then
echo shar: \"'news.tex'\" unpacked with wrong size!
fi
# end of 'news.tex'
fi
if test -f 'other.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'other.tex'\"
else
echo shar: Extracting \"'other.tex'\" \(2901 characters\)
sed "s/^X//" >'other.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Other Sources of Information}
X \subsection{Books}
X \begin{itemize}
X \item From what I've seen you can't go wrong with a Nutshell book.
X \item Read /usr/local/pdp/doc/unix.books for evaluations.
X \item I learned from 2 books.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{Introducing the Unix System, by McGilton and Morgan.}
X \begin{itemize}
X \item Very good intro to Unix itself.
X \item Good for learning vi, nroff, tbl, and eqn.
X \item Over 10 years old.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{The Unix Programming Environment, by Kernighan and Pike.}
X \begin{itemize}
X \item Very good for advanced unix stuff.
X \item Good for learning sed, awk, regular expressions.
X \item Good intro to shell programming.
X \item Over 10 years old.
X \item Mine grew legs, please return it.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{FAQs}
X \begin{itemize}
X \item FAQ - Frequently Asked Questions.
X \item Stored in newsgroup news.answers.
X \end{itemize}
X \subsubsection{Unix FAQ}
X \begin{itemize}
X \item What does \{some strange unix command name\} stand for?
X \item How do I set the permissions on a symbolic link?
X \item How do I ``undelete'' a file?
X \item Why doesn't redirecting a loop work as intended?
X \item How do I remove a file whose name begins with a ``-'' ?
X \item How do I get the current directory into my prompt?
X \item How do I rename ``*.foo'' to ``*.bar'' or change file names
X to lowercase?
X \item RCS vs SCCS: How do the interfaces compare?
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{Shell FAQ}
X \begin{itemize}
X \item Should I Post My Shell Question to the Net?
X \item To Which Newsgroup Should I Post My Question?
X \item What Information Should I Include?
X \item What About Those People Who Continue to Ask Stupid or
X Frequently Asked Questions In Spite of The Frequently Asked
X Questions Document?
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsubsection{Other FAQs}
X \begin{itemize}
X \item CASE tools summary
X \item List of Periodic Informational Postings, Part 1/4
X \item comp.windows.x Frequently Asked Questions
X \item comp.os.msdos.programmer
X \item PostScript monthly FAQ
X \item Publicly Accessible Mailing Lists
X \item Emily Postnews Answers Your Questions on Netiquette
X \item rec.pets.dogs
X \item alt.sex.wizards FAQ
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{Your local wizard}
X \begin{itemize}
X \item list of names deleted
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{The net}
X \begin{itemize}
X \item Think before you post
X \item Have you RTFM?
X \item Have you asked your local wizard?
X \item Have you read the FAQ?
X \item Have you scanned the newsgroup looking for the answer?
X \item RTFM again
X \item Post to 1 group, include your mail path
X \end{itemize}
X\end{slide*}
X
END_OF_FILE
if test 2901 -ne `wc -c <'other.tex'`; then
echo shar: \"'other.tex'\" unpacked with wrong size!
fi
# end of 'other.tex'
fi
if test -f 'password.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'password.tex'\"
else
echo shar: Extracting \"'password.tex'\" \(1869 characters\)
sed "s/^X//" >'password.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Passwords}
X \subsection{Importance of passwords}
X \begin {itemize}
X \item First line of defense.
X \item Should never be written down.
X \item Should be changed periodically.
X \end {itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Changing your password}
X \begin {itemize}
X \item Use either passwd -y or yppasswd.
X \item Won't take effect on europa until midnight.
X \end {itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Is your password any good?}
X \subsubsection {Bad Ideas}
X \begin {itemize}
X \item Names, especially your login name
X \item TV or movie names
X \item Fantasy names
X \item The computer name
X \item Your phone number, license plate, or SSN
X \item Words like wizard, guru, xyzzy
X \item Words in the dictionary
X \item Place names
X \item Passwords of all 1 character (AAAAAAA)
X \item Patterns like asdfjkl;
X \item All of the above spelled backwards
X \item All of the above followed or prepended by a single digit
X \end {itemize}
X\end{slide*}
X\begin{slide*}
X \subsubsection {Good Ideas}
X \begin {itemize}
X \item Have both upper and lowercase letters
X \item Have numbers, letters, and punctuation
X \item Make it easy to remember
X \item At least 7 characters long
X \item Can be typed quickly
X \item A good method is the first letter of a phrase. For
X example, "I'm the smartest engineer in the company" would
X give Itseitc.
X \item Another method is combine 2 words with a number or
X punctuation instead of a space. Ex: \verb+go->fish+
X \item 4GnRsux2 was root password for a while.
X \end {itemize}
X\end{slide*}
X\begin{slide*}
X \subsection{Wanna bet?}
X \begin {itemize}
X \item Type ``ypmatch `whoami` passwd' \verb+> ~/break.me+''
X \item Now type ``/usr/local/bin/Crack \verb+~/break.me+''
X \item While waiting peruse /usr/local/src/crack.
X \end {itemize}
X\end{slide*}
END_OF_FILE
if test 1869 -ne `wc -c <'password.tex'`; then
echo shar: \"'password.tex'\" unpacked with wrong size!
fi
# end of 'password.tex'
fi
if test -f 'printing.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'printing.tex'\"
else
echo shar: Extracting \"'printing.tex'\" \(1291 characters\)
sed "s/^X//" >'printing.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Printing}
X \subsection{How do I print?}
X \indent
X \begin{verbatim}
X lpr filename
X lpr -Pplj filename
X pr -l60 filename | lpr
X \end{verbatim}
X \noindent
X
X\end{slide*}
X\begin{slide*}
X \subsection{Where did it come out?}
X \begin{itemize}
X \item Regular ascii is the default, comes out in the lab.
X \item ``lpr -Pplj filename'' prints a postscript file, it comes out
X in xxxx xxxx's cube.
X \item Some Suns are configured differently.
X \item Other printers are available.
X \end{itemize}
X
X\end{slide*}
X\begin{slide*}
X \subsection{PostScript}
X \begin{itemize}
X \item There are many filters to convert Ascii to PostScript.
X \item pr -l108 filename \verb+|+ lwf -m -s7 -S \verb+|+ lpr -Pplj
X \item a2ps filename
X \item See also asc2ps, lprps, pstext, textps.
X \end{itemize}
X
X\end{slide*}
X\begin{slide*}
X \subsection{Printcap}
X \begin{itemize}
X \item Printers are defined in /etc/printcap.
X \begin{verbatim}
X lp|lz|laserjet|Hewlett-Packard Laserjet:\
X :lp=/dev/ttyb:sd=/usr/spool/lpd:\
X :mx#0:br#9600:pw#132:pl#66:\
X :ms=-parenb,cs8,ixoff,-istrip:\
X :lf=/usr/adm/lpd-errs:\
X :vf=/usr/local/hp/lzcat:
X
X plj|Postscript laserjet:\
X :mx#0:lp=:rm=hagar:\
X :sd=/var/spool/plj:lf=/usr/adm/lpd-errs:
X \end{verbatim}
X \end{itemize}
X\end{slide*}
END_OF_FILE
if test 1291 -ne `wc -c <'printing.tex'`; then
echo shar: \"'printing.tex'\" unpacked with wrong size!
fi
# end of 'printing.tex'
fi
if test -f 'rcs.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'rcs.tex'\"
else
echo shar: Extracting \"'rcs.tex'\" \(2087 characters\)
sed "s/^X//" >'rcs.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{RCS and CVS}
X \subsection{RCS Overview}
X \begin{itemize}
X \item Revision Control System.
X \item RCS is a replacement for SCCS.
X \item Manages multiple revisions of text and binary files.
X \item automates the storing, retrieval, logging, identification,
X and merging of revisions.
X \item Useful for text that is revised frequently, for example programs,
X documentation, graphics, papers, form letters, etc.
X \item Functionally RCS and SCCS are practically equal, with RCS having
X a bit more features since it continues to be updated.
X \item Note that RCS learned from the mistakes of SCCS...
X \item Source code is online.
X \item Read the man page for rcsintro.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \subsubsection{Basic RCS commands}
X \begin{itemize}
X \item ci - check in a file
X \item co - check out a file
X \item rcs - housekeeping chores
X \item rcsmerge - merge different versions
X \item rcsdiff - compare different versions
X \item rlog - view the history of a file
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{CVS Overview}
X \begin{itemize}
X \item Front end to RCS.
X \item Extends the notion of revision control from a collection of
X files in a single directory to a hierarchical collection of
X directories consisting of revision controlled files.
X \item Provides a rich variety of commands to satisfy the many needs
X of source management in distributed environments.
X \item Source code is online.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsubsection{Basic CVS commands}
X \begin{itemize}
X \item checkout - creates your private copy of the source for modules
X \item update - update your copies of source files from changes that
X other developers have made to the source in the repository
X \item add - add new files in cvs records of your working directory
X \item remove - declare that you wish to eliminate files from the
X repository
X \item commit - used to ``publish'' your changes to other developers
X by incorporating them in the source repository
X \end{itemize}
X\end{slide*}
X
END_OF_FILE
if test 2087 -ne `wc -c <'rcs.tex'`; then
echo shar: \"'rcs.tex'\" unpacked with wrong size!
fi
# end of 'rcs.tex'
fi
if test -f 'scripts.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'scripts.tex'\"
else
echo shar: Extracting \"'scripts.tex'\" \(4697 characters\)
sed "s/^X//" >'scripts.tex' <<'END_OF_FILE'
X\begin{slide*}
X\section{Script Files}
X \subsection{sed}
X \begin{itemize}
X \item Non-interactive stream editor.
X \item Easy to learn.
X \item Automate editing actions performed on one or more input files.
X \item Good for series of changes on multiple files.
X \item Good for writing conversion programs.
X \item Ex: Change California to CA is
X \\ sed s/California/CA/g.
X \item Another example: A sed filter to extract a syllabus from my
X input TeX file.
X \end{itemize}
X\end{slide*}
X\begin{slide*}
X \begin{center}
X Portion of the input TeX file.
X \end{center}
X
X \begin{verbatim}
X
X \begin{slide*}
X \section{Passwords}
X \subsection{Importance of passwords}
X \begin {itemize}
X \item First line of defense
X \item Should never be written down
X \item Should be changed periodically
X \end {itemize}
X \end{slide*}
X \begin{slide*}
X \subsection{Changing your password}
X \begin {itemize}
X \item Use either passwd -y or yppasswd
X \item Won't take effect on xxxxxx until midnight
X \end {itemize}
X \end{slide*}
X \end{verbatim}
X\end{slide*}
X
X
X\begin{slide*}
X \begin{center}
X The sed script.
X \end{center}
X \begin{verbatim}
X
X /section/!d
X s/\\subsubsection//
X s/\\subsection//
X s/\\section//
X s/{//
X s/}//
X
X \end{verbatim}
X\end{slide*}
X
X\begin{slide*}
X \begin{itemize}
X \item sed -f fix.sed \verb+<+ password.tex \verb+>+ syllabus
X \end{itemize}
X \begin{verbatim}
X
X Passwords
X Importance of passwords
X Changing your password
X Is your password any good?
X Bad Ideas
X Good Ideas
X Wanna bet?
X
X \end{verbatim}
X\end{slide*}
X
X\begin{slide*}
X \subsection{awk}
X \begin{itemize}
X \item Named after it's authors Aho, Weinberger, Kerninghan.
X \item Views a file as made up of fields and records.
X \item Allows variables to be set and used.
X \item Allows arithmetic and string operators.
X \item Allows loops and conditionals.
X \item Good for formatting reports based on input data.
X \item Fields are separated by whitespace.
X \item -F changes the field separator.
X \item Ex: print the user name of a password entry.
X \begin{verbatim}
X jim:2nq3zbEL:1:2:Jim Harkins:/home/jim:/bin/sh
X awk -F: '{print $5} < password'
X Jim Harkins
X \end{verbatim}
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \begin{itemize}
X \item An awk filter to extract a syllabus from my input TeX file.
X \end{itemize}
X \begin{verbatim}
X
X
X BEGIN{ FS = "{" }
X {
X output = substr($2, 1, length($2) - 1)
X
X if($1 == "\\section")
X printf"%s\n", output
X
X if($1== " \\subsection")
X printf"\t%s\n", output
X
X if($1== " \\subsubsection")
X printf"\t\t%s\n", output
X }
X END{
X printf"Done.\n"
X }
X
X
X awk -f fix.awk < password.tex > syllabus
X
X \end{verbatim}
X\end{slide*}
X
X\begin{slide*}
X \subsection{sh}
X \begin{itemize}
X \item The original bourne shell
X \item Full programming environment, with variables, conditional and
X iterative constructs, and a tailorable envronment.
X \item Very good for writing scripts.
X \end{itemize}
X \begin{verbatim}
X
X
X # Time from New Years to now.
X now=`date '+%j'`
X # days between xmas and New Years.
X now=`expr $now + 6`
X
X if [ $now -gt 366 ]
X then
X # After xmas, adjust until New Years.
X now=`expr $now - 366`
X fi
X left=`expr 366 - $now`
X echo "Only $left shopping days until Christmas!"
X \end{verbatim}
X\end{slide*}
X
X\begin{slide*}
X \subsection{csh}
X \begin{itemize}
X \item Very good command interface.
X \item Has several features sh lacks.
X \begin{itemize}
X \item aliases
X \item syntax similar to C
X \item history
X \item command line editing
X \end{itemize}
X \item Not good for writing scripts, read /usr/local/pdp/doc/csh.bad for
X details.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{tcsh}
X \begin{itemize}
X \item Enhanced version of the csh.
X \begin{itemize}
X \item Simple command line editing.
X \item Lookup of command documentation in the middle of a typed
X command.
X \item Enhanced history mechanism.
X \item Commands for debugging terminal capabilities.
X \end{itemize}
X \item Full source online.
X \item No reason not to run it.
X \end{itemize}
X\end{slide*}
X
X\begin{slide*}
X \subsection{perl}
X \begin{itemize}
X \item Practical extraction and report language.
X \item Easily manipulates text, files, and processes.
X \item Source is in /usr/local/src/perl.
X \item Combines sed, awk, sh, csh, grep, and a host of other tools.
X \item If you don't know sed, awk, sh, csh I recommend you learn perl
X instead of these others.
X \end{itemize}
X\end{slide*}
X
X
END_OF_FILE
if test 4697 -ne `wc -c <'scripts.tex'`; then
echo shar: \"'scripts.tex'\" unpacked with wrong size!
fi
# end of 'scripts.tex'
fi
if test -f 'train.tex' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'train.tex'\"
else
echo shar: Extracting \"'train.tex'\" \(554 characters\)
sed "s/^X//" >'train.tex' <<'END_OF_FILE'
X\documentstyle[11pt,portrait]{seminar}
X
X\title{Unix Training - Doing More}
X\author{Jim Harkins}
X
X\slideframe{none}
X\slidesmag{3}
X
X%\includeonly{other}
X
X\begin{document} % End of preamble and beginning of text.
X
X\begin{slide*}
X\maketitle % Produces the title.
X\end{slide*}
X
X\tableofcontents
X
X\include{login}
X\include{printing}
X\include{docs}
X\include{password}
X\include{cshrc}
X\include{mail}
X\include{editors}
X\include{format}
X\include{rcs}
X\include{scripts}
X\include{news}
X\include{other}
X
X\end{document} % we be done
END_OF_FILE
if test 554 -ne `wc -c <'train.tex'`; then
echo shar: \"'train.tex'\" unpacked with wrong size!
fi
# end of 'train.tex'
fi
echo shar: End of shell archive.
exit 0
--
Plumbers Motto: A flush beats a full house.
--------------------------------------------------------------
Jim Harkins [ucsd|uunet]!pacdata!jim
Pacific Data Products j...@pacdata.com
--------------------------------------------------------------

Bob Ware

unread,
Feb 10, 1993, 11:53:07 AM2/10/93
to
Jim Harkins (ji...@pacdata.com) wrote:
: About a month ago I was asked by my boss to give some training for my users.

: I promply posted a request to the net and got swamped with 'please pass along
: anything you get'. Well, I didn't get much so I wrote my own. And now I'm
: posting it.

We have put our "hands-on vi tutorial" in anonymous ftp for all to use.
Most people can start using vi in less than an hour, with this tutorial.
You may also be interested in getting a copy.

anonymous ftp from ftp.mines.colorado.edu. pub/tutorials/vitutor.shar.Z

--
Bob Ware, System Administrator
Computing and Networking, Colorado School of Mines, Golden, Co 80401, USA
(303) 273-3987
bw...@mines.colorado.edu

0 new messages