From: cuuf@wfu.edu
Newsgroups: comp.unix.user-friendly,comp.answers,news.answers
Subject: comp.unix.user-friendly Frequently Asked Questions (FAQ)
Date: 20 Aug 1994 10:59:11 GMT

Archive-name: unix-faq/user-friendly

FAQ (Frequently-asked Questions) for comp.unix.user-friendly

------------------------------

Subject: Recent changes

Changed pathname of archives at ftp.wfu.edu (July 6, 1994)
Corrected path name for tkman (Subject 3.1) (July 5, 1994)

------------------------------

Subject: Acknowledgements

This FAQ is automatically posted on the 5th and 20th of each month. The
latest version of the FAQ is available in the following ways:

ftp://ftp.wfu.edu/ftp.wfu.edu /usenet/cuuf-FAQ

gopher://gopher.wfu.edu/Computer information
/Usenet News information maintained by Wake Forest/cuuf-FAQ

THE PURPOSE OF THIS FAQ is to archive "Frequently Asked Questions", and by
so doing, to improve the quality of the newsgroup discussion by reducing
redundant questions.  The FAQ also serves as a reference to new readers,
providing one resource which will answer many of their questions. It does
not matter if a FAQ is necessarily appropriate to the group's charter-- if
it appears frequently, its inclusion in the FAQ will reduce the frequency.

Since this is a new newsgroup, there currently are very few FAQ's. If
users consider a topic worth incorporating into this FAQ, they are
encouraged to compile and email any FAQs to cuuf@wfu.edu FAQs should try
to roughly incorporate which category(ies) of users the FAQ applies to (if
applicable) i.e., novice, casual, expert, etc.  If you do NOT want your
name credited with the FAQ, please say so.

The FAQ is maintained by Noel Hunter <noel@wfu.edu> and
Lachlan Cranswick <lachlan@dmp.csiro.au>

------------------------------

Subject: Contents

1. Novice (General questions about Unix and this newsgroup)
  1.1 Why did the people who wrote Unix use different commands from
            MS-DOS; why does Unix use funny abbreviations for commands, etc?
        1.2 What books are available for learning Unix?
        1.3 What are some basic commands and concepts for new users?
  1.4 What Internet resources are available for learning Unix?

2. Casual (Now we're getting into "User Friendly")
  2.1 What shells are friendliest, and how can one make shells
  friendlier?

3. Expert
  3.1 What on-line documentation / help systems are available free
            on the Internet

------------------------------

Subject: 1. NOVICE QUESTIONS

------------------------------

Subject: 1.1 Why did the people who wrote Unix use different commands from
             MS-DOS; why does Unix use funny abbreviations for commands, etc?

This question, and questions of a general Unix nature are not appropriate
for this newsgroup.  Direct them to comp.unix.questions or other
comp.unix groups.  However, since these questions do occur frequently,
here is a brief summary of responses:

Submitted by Randolph J. Herber, paraphrased here:

Unix came first...

Unix was written before MS-DOS, which is a distant relative, tracing some
of its roots to Unix, but also incorporating other influences.  According
to _The Bell System Technical Journal_ (Vol. 57, No. 6, July-August, 1978
``Forward''), "The UNIX story begins with Ken Thompson's work on a
cast-off PDP-7 minicomputer in 1969." According to _The MS-DOS
Encyclopedia_ (Microsoft Press), page 19, MS-DOS "ran on the prototype for
the first time in 1981."

The abbreviations...

The primary causes of the abbreviations were the 10 characters per
second terminal speeds and the small system memories (e.g. 128KB).

Although Microsoft based some of MS-DOS on Unix, they also incorporated
elements of CP/M and other sources.  For this reason, some commands are
identical to Unix, while others are different.

------------------------------

Subject: 1.2 What books are available for learning Unix?

This question also is not appropriate to this newsgroup, but is frequently
asked. See the newsgroup misc.books.technical instead.  Here is a summary
of resources:

A Concise Guide to UNIX Books
Compiled by: Samuel Ko (kko@sfu.ca, sko@wimsey.bc.ca)

This is a good selection of the "best" books and documentation on
UNIX and related areas.  The selection is based on i) recommendations
from netnews readers, ii) the US/Canada sales figures, and iii) a bit
of my own preference.

Among the subject areas covered:
   A. General Unix Texts
      a.  for beginning / intermediate users
      b.  for intermediate / advanced users
   B. Shells
   C. Unix Editors
   L. Other Lists
   M. Other Books (experimental)

The latest version is also obtainable by anonymous ftp from rtfm.mit.edu
(in /usenet/news.answers/books). If you do not have ftp or netnews
access you can get it by email from mail-server@rtfm.mit.edu and the body
of your request should be send usenet/news.answers/books/unix.

------------------------------

Subject: 1.3 What are some basic commands and concepts for new users?

Another novice question which should be directed to the newsgroup
comp.unix.questions.  But novices can't know these things, so we should
help them at least briefly:

Basic commands and concepts, originally submitted by haley@husc.harvard.edu.

Unix is an operating system, similar to MS-DOS, only much more powerful.
Some versions have over 300 commands in the basic system, not including
specialized applications.

Command Primer
--------------
These commands are meant for use in a program called a "shell", which is
the user interface to the underlying programs that make up Unix. There are
several different shells which are widely used, so the prompts you see on
your screen, and the responses you see may vary slightly.  However, the
commands here should work in all of the shells. Note that users with
Graphical User Interfaces (X Windows, Openview, etc) may have to use the
"shelltool" or "command window" to use these commands.

When you enter Unix commands, you will usually enter two or three words:
the "command" itself, "modifier(s)" which change the way the command
works, and "argument(s)" which provide the command with additional
information.  Each word in the command is separated by a space, and
modifiers are preceded by a hyphen (-).  Here is an example of the "ls"
command with a modified and argument:

Example:   command  modifier argument
           |        |        |
           ls       -CF      newdir

Typing this command will print a directory listing on your screen of the
directory "newdir".  The modifiers "-CF" tell the ls command to list other
directories listed with a / after them, and to list programs with a * after
them, and logical links with a @ after them.

The unix system uses a "hierarchical directory structure; to store files
on its disks.  This type of structure is like an upside-down tree, with
one "root" directory (like the root and trunk of a tree), and many
sub-directories (like branches) to store files in. Here is a small example
of what one might look like:

             _______________(/)______________________________
            /      /           \       \                     \
          bin     lib           etc     home_____________     usr
                 /                     /        \        \
                sys              headcheese      \        headcheese3
                                                  \
                                                   headcheese2
                                                  /
                                           student
                                          /
                                     yourdir

The directories you must go through to find a particular file in "yourdir"
are "/" then "home" then "headcheese2" then "student" then "yourdir". In
Unix you call the directories you must go through to acces a file the
"path", and you type in the above path like this:

/home/headcheese2/student/yourdir/filename

We call this "filename"'s "full path". The first "/" must be there for it
to be a full path. If you leave it off then the shell will assume it is a
"relative path" and look for the path to start in the directory you are
currently in, called the "current working directory". This is useful, as
always having to refer to files by their full path would get tedious. If
you were in "student" and wanted to refer to "filename" in "yourdir" you
could call it:

yourdir/filename

Or, if you are already in "yourdir", just

filename

O.K. That ought to be enough to get you interested and started...
Note to MS-DOS users: Unix has a hierarchical directory structure,
like MS-DOS, but uses a / to separate parts of a file path instead of
a \ (Back-slash).

Playing around
--------------
After you understand these things, the thing to do is *PLAY*. Look around
in the directories which store commands, and when you see something, do a
"man" on it. When you think you want to know more, a trip to a math
library is in order, or maybe a good bookstore. A good publisher is
O'reilly (Nutshell). Addison Wesley is also good, but I think they are
better for advanced stuff.

Directories to look in: /bin /usr/bin /usr/local /usr/local/bin and just
about any other "*bin" directory.

Note that this method is not time efficient at first. It is however MUCH
better for retention. I went from knowing nothing about Unix to having the
professor who got me started asking *me* for advice.

There is a small hand-full of commands that you will use many times, and
here they are...

man Print out a manual page on the screen.  If you know the name of a
command, you can read the manual by typing "man command".  For example,
typing "man ls" will display the manual for the ls command.  If you want
to search all of the man pages for a certain word (on some systems), you
can type "man -k word".  For example, typing "man -k mail" would list
the names of all of the man pages pertaining to mail.
                man intro
passwd  Change your account password. This should be done the first time
you log on, especially if you have no password. You must know your old
password to change it.  To change you password, type "passwd".  Then enter
your old (current) password, and the desired new password (twice).  Note
that your passwords will NOT appear on the screen as you type them.

ls  List the contents of a directory.  Typing "ls" alone will list
the contents of the current working directory.  If you want to see a
specific directory, you can type "ls directoryname".  For example,
"ls /pub" will list the contents of the /pub directory (if there is
one one your system).  Adding "-CF" options will give you a more
detailed listing in columns, marking directories with a /, executable
files with a *, and logical links with a @.  For example, typing "ls -CF"
will give a detailed listing of the current directory.

mkdir Make a new directory as a sub-directory of where you are now.
For example, "mkdir work" will create a sub-directory named "work" in
your current directory.

cd  Change directory. Used to go up or down in the directory tree.
For example, to change to a sub-directory named "work" in the current
directory, type "cd work".  Typing "cd .." will change to the parent
directory, the directory one level above the current directory.

vi   Invoke the vi editor. This is a screen editor, that is, a text editor
that makes use of the full screen. You must know this or another editor to
make use of "elm".  For those who use one of the windowing systems
exclusively, you can put off learning this as the windowing systems have
adifferent e-mail system.

rm  Remove a file. (note: this is forever! Think before you erase)
For example, to remove a file named "foo", type "rm foo".  Adding the
"-r" option allows you to delete an entire sub-directory and ALL files
and directories beneath it.  BE CAREFUL!  For example, to delete a
directory named "work", and all files and sub-directories in "work", type
"rm -rf work".

elm Invoke the elm mail program.  Note: must know an editor
first.

------------------------------

Subject: 1.4 What Internet resources are available for learning Unix?

Submitted by: Jean-Marc Bonnaudet

The Unix-faq is posted to the newgroups:
comp.unix.questions,comp.unix.shell,news.answers, comp.answers.


------------------------------

Subject: 2. CASUAL QUESTIONS

------------------------------

Subject: 2.1 What shells are friendliest, and how can one make shells
friendlier?

bash
----
Bash is an sh-compatible command language interpreter that executes
commands read from the standard input or from a file.  Bash also
incorporates useful features from the Korn and C shells (ksh and csh).

Bash is ultimately intended to be a faithful implementation of the
IEEE Posix Shell and Tools specification (IEEE Working Group 1003.2).

Bash is available from GNU sites, such as jaguar.cs.utah.edu:gnustuff

tcsh
----
is an enhanced version of the Berkeley UNIX C shell csh.  It behaves
exactly like the C  shell, with added utilities of:

1) Command line editing using vi or Emacs commands, allowing you to
   correct errors in the current input line, or in previously input lines,
   much more easily than with sh or csh.
2) Visual step up/down through the history list, letting you recall
   previously typed lines by simply pressing the up arrow key.
3) Terminal mode sanity checking and resetting, which helps reduce
   problems for users who frequently switch between various types of
   terminals.
4) Interactive command, file name and user name completion, allowing you
   to type the first few characters of a command, user name, or file name,
   then press the TAB key to automatically complete the word.
5) File, directory, and user list display in the middle of a typed
   command.
6) Interactive spelling correction of command, file, and user names.
7) Lookup of command documentation in the middle of a typed command.
8) Enhanced history mechanism for recalling previous commands.
9) Automatic locking or logout after long periods of idle time.

tcsh is available via anonymous ftp from tesla.ee.cornell.edu, among other
places.

zsh
---
(paraphrased from the zsh faq, posted to comp.answers monthly)
zsh is a UNIX command interpreter (shell) which of the standard shells
most resembles the Korn shell (ksh), although it is not completely
compatible.  It includes enhancements of many types, notably in the
command-line editor, options for customising its behaviour, filename
globbing, features to make C-shell (csh) users feel more at home and
extra features drawn from tcsh (another `custom' shell).

zsh is available for users east of the Atlantic from:
  carlo.phys.uva.nl(145.18.218.21):/pub/bas/zsh/zsh-2.4beta.tar.gz
The latest full release is in zsh-2.3.1.tar.gz in the same directory.
and
  ftp.sterling.com (192.124.9.1):/zsh

The 2.3.1 distribution is also available from ftp.uu.net and mirrors
in the directory pub/shells/zsh.

------------------------------

Subject: 3. EXPERT QUESTIONS

------------------------------

Subject: 3.1 What on-line documentation / help systems are available free
            on the Internet

Submitted by Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>, edited.

TkMan
-----
an X-based manual page viewer and browser. Far superior to
xman; I think it's the current best approach to man page presentation.
Available via anonymous ftp from:

ftp.cs.berkeley.edu://ucb/mhgs/tkman-1.5.tar.Z

TkInfo
------
an X-based hypertext interface to the GNU texinfo .info file format.

World Wide Web (WWW), Mosaic and Lynx
-------------------------------------
HTML looks like the leading candidate for formatted and annotated text at
the moment, so even if WWW dies, an investment in HTML-based tools will
probably continue to be useful.  Word Perfect, BBEdit, and other vendors
are beginning to support HTML editing.

Gopher
------
seems to be the low-rent ASCII-based information delivery system of
choice, but I'm not sure it's the right choice. For one thing, one has to
fight menus to find things, which makes it reliant on the skill of the
person who set them up. Combining gopher with WAIS for searching can
create a more effective documentation system.

End of cuuf-FAQ
***************
--
* Noel Hunter,  Academic Systems Administrator,    Wake Forest University *
* email: noel@wfu.edu                            http://www.wfu.edu/~noel *

