1 FINGER
! This file was adapted by R. Garland, Columbia Chem Dept., from the TOPS-20
! file on the Columbia computer Center's DECsystem-20's, written by Frank
! da Cruz.
!
! Updated for Finger V5.20			6-Oct-1983	Rg
! Updated with new qualifiers and nodes		1-Dec-1983	Rg
! Updated for V40.1.00 (VMS V4.0)		28-Mar-1985	Rg
! Updated for V41.1.10 (VMS V4.1)		22-May-1985	Rg
! Updated for V50.1.05 (VMS V5.0-2)		17-Mar-1989	TMK
! Updated for V51.1.14 (VMS V5.1-1)		06-Jun-1989	TMK
FORMAT:
    Locally:

      FINGER [user] [Qualifiers]

    over the network:

      FINGER [user] @host[@host...] [Qualifiers]

Finger is a SHOW SYSTEM-like program (tells you who's logged in, etc.) 
that performs the following functions:

o SHOW SYSTEM-like output, showing username, location, program name,
  etc., of all users currently logged in.  

o Detailed information about a specified user including the contents
  of the user's "PLAN." file  (if the user has one),  and the status
  of the user's mailbox.  In addition, if the user is logged in, the 
  user's job(s) is(are) displayed.

o Finger will look up the username of a person  whose name you know.
  There are variations on this:   e.g. you can find the usernames of
  all users with the first name of Fred. The rule Finger follows for
  the command "$ FINGER user" is:

	1) Check if "user" is a valid Username (login ID). If it is,
	   use it.

	2) Match "user" against  the list of personal  names kept by
	   the system.  Output all matches. This match can be to any
	   part of the name.  Thus "Rich" will match  both "Richard"
	   and "Heinrich".  The "user" string must be at least three
	   characters long to be considered for this type of match.
!! NOTE above restriction applies if source is so changed

2 User
Asking for a specific user will give you a list of all the active jobs 
for that user, as well as plan and mail information if available.

A "user" can be specified in one of several ways:

o   A local VAX/VMS username, possibly with wildcards.  For example,
    "FL$SMITH", "BEN*", etc.  Standard VMS wild-card conventions are
    observed i.e. "*" matches any string, "%" matches any character.

o   A local personal name or part thereof.  All matches will be out-
    put.

o   A "." (period) to finger yourself.  (e.g. to check your mail.)

o   An ID on a foreign network host, e.g. SYSTEM@JCSVAX1 or .@SPC11B
    Note in the  second example above that .@host will return infor-
    mation  about a user on a remote  host with the same username as
    yourself, handy for checking your mail on the other system.

See also "HELP Finger Plan" and "HELP Finger Mail"

2 Network
Finger can retrieve information  from a remote host  on the network if
that host supports Finger commands.

The host is specified by a hostname, preceded by an atsign, e.g. @XYZ.
Standard VMS wildcards can be used on the the hostname,  in which case
the command will be sent to all hosts  in the database which match the
pattern.  Thus:

	FINGER @CU*

will do a Finger to all hosts with names beginning with "CU".

An alternate form for specifying a nodename is with a double colon ::.
The following two commands are equivalent:

	FINGER @FOO
	FINGER FOO::

In parsing the command, Finger searches for "@" first and if it cannot
find this it searches for "::".

Several host names  may be strung together  to effect routing to other
networks, e.g.:

	@SU-AI@CUCS20   (Routing is done right to left)

If you give a host name with no username you will get a listing of all 
the non-operator jobs at the specified site (providing it is connected
and  is able to  provide  Finger  service).  You may  include trailing
options for the foreign host;  these are not parsed locally.  They are
simply sent to the designated host, which  may or may not know what to
do with them.  For example:

	FINGER foo@unixa -a -b -c

In all cases, the  rightmost host name and its atsign are removed from
your command and the rest of it is sent to that  host as you typed it.
Intermediate  hosts do the same thing,  until the  command has no host
names left,  at which  point the host at which it has arrived executes
the remainder of the command.

2 Plan
If you Finger an individual user, personal information about that user
will be listed if it is available.  A user should put this information
in a file  named "PLAN." in his/her login directory.  Information such
as phone number, office hours, etc. may be appropriate. 

2 Mail
If you Finger an individual user,  information about that  user's mail
messages will be listed.  This consists of the number of new mail mes-
messages received  since last read by the user,  and (if any are  from
you) the date, time and subject is displayed. This is useful to see if
a person has read your mail yet etc.  

2 Area
If you Finger an individual user,  that user's default directory spec-
ifcation will be displayed.

2 Nodes
The following nodes  accessible from the SPC Academic  Computer Center
are in the Finger database as of March 1989.  These are those believed 
to support Finger.  If you Finger other nodes,  it will try anyway for 
DECnet nodes, but will not try for BITnet nodes.

DECnet nodes -

SPC11A  -  SPC Academic Computer Center PDP-11/84  (research)
SPC11B  -  SPC Academic Computer Center PDP-11/44  (CS computing)
SPC11C  -  SPC Academic Computer Center PDP-11/44  (Non-CS  "   )
SPC11D  -  SPC Academic Computer Center PDP-11/70  (CS Unix)
SPC11E  -  SPC Academic Computer Center PDP-11/70  (CS Unix tech)
SPC11Y  -  SPC Academic Computer Center PDP-11/23+ (Micro router)
SPC11Z  -  SPC Academic Computer Center PDP-11/83  (RSTS SIG)

BITnet nodes -

JCSVAX1 -  Jersey City State College VAX-11/780    (admin cluster)

2 Qualifiers

/ALL

List all processes, including system processes.

Note: /ALL selects all processes for display,  whereas /FULL specifies
that all information for the selected processes be displayed.

/BATCH
 /BATCH
 /NOBATCH (D)

List the batch Processes on the system.

/BYPASS
 /BYPASS (D)
 /NOBYPASS

Determines whether (NOBYPASS) or not (BYPASS) control  characters such
as escape sequences are filtered before output is displayed.

/CPUTIME
 /CPUTIME (D)
 /NOCPUTIME

Display the amount of CPU time used.  Format is mmm:ss  (or mmmmmm for
times over 999 minutes.)

/FULL

Displays all information for the selected processes. This display will
overflow the screen width on most terminals.

Note:  /ALL selects all processes for display  whereas /FULL specifies
that all information for the selected processes be displayed.

/HELP

Print this message.

/IDLETIME  
 /IDLETIME 
 /NOIDLETIME (D)

Display  the time  since the last  terminal activity if  the system is
waiting for terminal  input from the user.  Format is hh:mm.  A single 
"." in the  display means the  terminal has been  idle for more than 1
second but less than 1 minute.

/IMAGENAME
 /IMAGENAME (D)  
 /NOIMAGENAME

Display the user's image (program) name.  A $ means the user is at the
DCL level.

/INTERACTIVE
 /INTERACTIVE (D)
 /NOINTERACTIVE

List interactive processes.

/LOCATION
 /LOCATION (D)  
 /NOLOCATION

Display the location of the user's terminal for interactive jobs.

/LOGINTIME
 /LOGINTIME (D)  
 /NOLOGINTIME

Display the time the user logged in.  Format is hh:mm.

/MESSAGE
 /MESSAGE (D)  
 /NOMESSAGE

Display the system message of the day with the output.

/NETWORK
 /NETWORK
 /NONETWORK (D)

List network (DECnet) jobs.

/PERSONALNAME
 /PERSONALNAME
 /NOPERSONALNAME (D)

Display the user's personal name,  as recorded in the system authoriz-
ation file (SYSUAF).

/PID
 /PID (D)
 /NOPID

Display the user's process ID (PID).

/PROCESSNAME
 /PROCESSNAME 
 /NOPROCESSNAME (D)

Display the user's process name.  Note: process name  will be the same 
as the Username (login ID)  except for batch jobs and when the user is
logged in on more than one terminal,  or when the user has done an ex-
plicit SET PROCESS/NAME command.

/SIZE
 /SIZE
 /NOSIZE (D)
     
Display the process working set size in pages.  Includes both  process
and global pages.
     
/SORT
 /SORT=sort_field
 /NOSORT (D)

Specifies that  the display  should be sorted by  one of the following
fields:

	CPU_TIME	The accumulated CPU time
	IMAGE		The name of the currently executing program
	LAST_NAME	The user's personal name
	LOGIN_TIME	The time of login in HH:MM format
	PID		The user's process ID (PID)
	PROCESS_NAME	The user's process name (SET PROC/NAME=)
	TERMINAL	The user's terminal name (TTY)
	USER_NAME	The user's username (Login ID)

If the sort field is not specified, the sort will default to USER_NAME

/STATE
 /STATE
 /NOSTATE (D)
     
Display the process scheduling state. Possible states are:
     
        Cur     Currently Executing Process
        Com[O]  Computable
        LEF[O]  Local Event Flag Wait
        CEF     Common Event Flag Wait
        MWait   Miscellaneous Wait, Mutex Wait, or Resource Wait
        PFW     Page Fault Wait
        Hib[O]  Hibernate Wait
        Susp[O] Suspend Wait
        ColPg   Collided Page Wait
        FPg     Free Page Wait
     
An O suffix indicates outswapped.
     
/SUBPROCESS
 /SUBPROCESS (D)
 /NOSUBPROCESS

List subprocesses.

/SWAPPED
 /SWAPPED
 /NOSWAPPED (D)

Displays image name, login time and CPU time for outswapped processes.
Normally these are not displayed since to do so would require swapping
in the process.

/SYSTEM
 /SYSTEM
 /NOSYSTEM (D)

List system processes.

/TERMINAL  
 /TERMINAL (D)
 /NOTERMINAL

Display the terminal line number.

/TTTYPE  
 /TTTYPE (D) 
 /NOTTTYPE

Display the type of terminal for interactive users.

/USERNAME  
 /USERNAME (D) 
 /NOUSERNAME 

Display the user's username (login ID).
