Using the finger program



Copyright Phillip Farrell. Last revision July 7, 2004

The finger program was an early attempt to provide a directory service in Unix. It will find information about users of a computer on the network, but only if the finger service is enabled on that computer. Pangea enables this service, but will respond to queries only if they come from a computer on the Stanford network.

Most servers on the Internet either disable the finger service, or restrict it to "in-house" use, like pangea, so it is not generally useful as a remote directory service. The purpose of such restrictions is to maintain privacy or to prevent hackers from misusing the information to target accounts for break-in. Personal computers do not provide the finger service.

The finger program is used to query computers that enable this service, in order to match real names with account names (email names) or to see who is logged into the system. It is implemented as a command line program on Unix, and generally not available on personal computers (exception: can be run from the Terminal application in MacOS X).

On Unix systems like pangea, to find out information about a user of that same computer, simply provide an argument to the finger program that is the name or login account of the person in whom you are interested, for example:
      finger farrell

finger will compare the name you gave against the entire list of accounts on that computer (the "password" file) and show results for anyone who matches, either by login name, real first name, or real last name. Case does not matter (that is, you don't have to capitalize the name). For example, if you run the command
      finger steve
on pangea, it will show the information for several different people whose first names are "Steve". Unfortunately, it will not match "Steven" - the name you give has to be an exact match with either the login name or some component of the real name. So if finger does not seem to find the person you want, try different possible spellings or abbreviations of his name. You can give more than one possible name as an argument to the command at once, for example:
      finger steve steven

If the person you want has an account on a different computer system than the one you are logged into, you can request information from that other system, by simply adding the system name in the same format as an email address. For example, if you were logged into one of the elaine computers in Sweet Hall and wanted to see information about anyone named "bob" on pangea, give this command from your elaine session:
      finger bob@pangea

The information provided by the finger program includes the login name (account name), which would also be the email name; the real name associated with that account; the home directory and shell for that account; and the time and remote computer name of the last command-line login, or the the idle time and remote computer name for currently active logins.

In addition, finger displays the contents of two files from the account's home directory that the account owner can set up to show office room number and telephone, current research interests, or any other information. You should put appropriate information into one or both of these files in your home directory on pangea. These files are:

.project
This file in the home directory can contain only a single line - usually just your office location and phone number

.plan
This file in the home directory can contain any number of lines of information - usually your research interests, funny quotes, etc.

For example, on pangea, the command
      finger gp111ins
produces this information:

Login name: gp111ins              In real life: GP111-class account
Directory: /home/class/gp111ins   Shell: /bin/csh
Last login Thu Jul 1 15:25 on ttyp0 from kunabasin.stanf
Plan:
The "gp111ins" account is used for class demonstrations in Geophysics 111,
"Introduction to Unix for Earth Scientists", offered in fall quarter.
All lecture notes and other materials for the class are available on
the World Wide Web at:
     http://pangea.stanford.edu/courses/gp111

If you do not give any names as arguments to finger, it shows a list of all users currently logged onto the system, in brief format, one per line, very similar to the output from the w or who programs.

You can also use finger to get a list of all users logged onto another computer. You just provide the remote system name after the @ sign, with no user names, for example:
      finger @kana

Comments or Questions?