Go to the previous, next section.

Using Finger

Arguments to GNU Finger

The basic argument to Finger is a user@host pair. The user portion is the name of the user about whom you would like information. The host is a machine that the user has an account on. When invoked in this manner, GNU Finger displays the list of hosts that this user is currently logged in on, or, if the user is not logged in, the last time and location that he or she was. host may be expressed as any valid Internet address (i.e. dot-notation, host.domain, etc).

If host is non-existent, the local host is assumed. If user is blank or unspecified, it is assumed that you want information about all users.

The content and format of the output of GNU finger depends on what is being fingered:

User
Displays login information about user. If `--info' or `--l' is also specified, finger will display the full name, home directory, shell, mail forwarding, and `.plan' and/or `.project' file. This is what the output will look like:

bash$ finger --info bson@gnu.ai.mit.edu
[apple-gunkies.gnu.ai.mit.edu]

Jan Brittenson (bson)
Home: /home/fsf/bson
Shell: /usr/local/bin/bash
Mail forwarded to bson@ai.mit.edu.
No mail.
  User     Real Name         What    Idle  TTY  Host      Console Location
bson     Jan Brittenson     fgrep          *p0 apple-gu (nutrimat.gnu.ai.)
bson     Jan Brittenson              1:57  *sb nutrimat 

Plan:
	To hack GNU Finger

The following is output, in the order listed, when asking for long information (`-l' or `--info') about a particular user:


bash$ finger bson@gnu.ai.mit.edu
[apple-gunkies.gnu.ai.mit.edu]
  User     Real Name         What    Idle  TTY  Host      Console Location
bson     Jan Brittenson     fgrep          *p0 apple-gu (nutrimat.gnu.ai.)
bson     Jan Brittenson              1:57  *sb nutrimat 

Here is an explanation of what each column contains in the short example:

User
The user login name.
Real Name
The real name of the user.
What
The current or last program run by the user, depending on the system in use. On System V Release 4, for instance, the current program is shown, but on BSD it will be the last terminated program.
Idle
The time the user has been idle, as hours:minutes, or the first 7 characters of a string such as "14 days".
TTY
The significant portion of the user's terminal connection. Exactly what portion this is is system dependent. For example, on System V Release 4, it might be `*40' for `/dev/pty/40', while on BSD it might be `*p0' for `/dev/ttyp0'. If preceded by an asterisk ("*"), then the user allows anyone to send messages to this particular terminal.
Host
The host the user is logged onto.
Console Location
Where the user's console is located. If logged in over the network, then this will be the most significant portion of the remote host name if known. A host name is always parenthesized.

In the general short output (i.e. not for a particular host), GNU Finger lists the least idle login for a particular user on each host. A single user often has several logins, since on some systems each window opened creates its own login record. In addition to the least idle login, the console login is also always listed, regardless of how long it has been idle.

To list all login records for a particular, host, use the special target `.local'. For example, while the following may be part of the general short finger listing for the host `mole.gnu.ai.mit.edu':

brendan  Brendan Kehoe               5:09  *p8 mole     (lisa.cygnus.com)
info     InfoMaster                 12:12  *p4 mole     (hal)
law      Jeffrey A. Law              3:52  *p7 mole     (128.110.4.17:0.0)
rms      Richard Stallman   sendmai  1:34  *p1 mole     (unix:0.0)
rms      Richard Stallman           6 days *co mole

The last line is the console. The following might be listed by the command `finger .local@mole.gnu.ai.mit.edu':

[mole.gnu.ai.mit.edu]
  User     Real Name         What    Idle  TTY  Host      Console Location
brendan  Brendan Kehoe               5:18  *p8 mole     (lisa.cygnus.com)
info     InfoMaster                 12:22  *p4 mole     (hal)
law      Jeffrey A. Law              4:01  *p7 mole     (128.110.4.17:0.0)
rms      Richard Stallman   sendmai  1:44  *p1 mole     (unix:0.0)
rms      Richard Stallman           23:08  *p0 mole     (unix:0.0)
rms      Richard Stallman           1 day, *p2 mole     (unix:0.0)
rms      Richard Stallman           6 days *co mole

  • Mailing List or Alias Expands the mailing list or alias and displays the recipients. You always have to use `--info' or (or `-l') when fingering a mailing list or mail alias, otherwise mail aliases won't be looked up due to the extra processing involved. This is what the output will look like:

    % finger --info postmaster@gnu.ai.mit.edu
    postmaster is an alias for the following:
        Roland McGrath <roland>,
        <tower@prep.ai.mit.edu>,
        Noah Friedman <friedman>,
        Michael I Bushnell <mib>
    

  • User-defined Target Allows the remote host to display specific information, such as price lists, literature, or weather forecasts. For example:

    % finger .site@gnu.ai.mit.edu
    
    This is the FSF GNU Project. For more information, please contact
    "postmaster". For information about guest accounts, please contact
    "request".
    

  • Command Line Options

    There are a number of command line options that you can give to GNU Finger:

    `--face'
    `-f'
    Ask Finger for the face of all users information has been requested about. An explicit user list has to be provided.

    `--info'
    `-l'
    `-i'
    Display the "long" form of information for the users fingered. The exact information returned depends on what finger software is run on the remote host -- GNU Finger, for instance, returns specific information. `-l' is supplied for backwards compatibility; finger as distributed from Berkeley has this option.

    `--brief'
    `-b'
    Display the "short" form of information for the users fingered. This is the opposite of `--info'.

    `--port port'
    `-P port'
    Make a connection to port, which can be either a numerical port number or a service name from `/etc/services'.

    `--help'
    `-h'
    Print a description of all options.

    Special User Names

    You can give GNU Finger one of several "special" user names. These user names all begin with a period (`.') and instruct the receiving finger daemon to do something that only a GNU Finger daemon can do. Currently, the "special" names are:

    `.free'
    Return a list of free machines. `Free' machines are those that have no users logged in, or have been idle for a long time. The information returned makes it clear which one is true.

    `.all'
    Return the information about every machine that the Finger server knows about. `.all' is equivalent to issuing the finger command without specifying the user name.

    `.site'
    Returns information about the site, such as company and location.

    `.clients'
    Returns a list of the clients that the GNU Finger server knows about. Also lists who is logged onto the console.

    `.faces'
    Return a list of the faces that this server has available. The last line output tells you how many lines were listed previously.

    `.local'
    Finger only at the specific machine. This allows finger to continue to be useful even in the event that the server is down. It also allows you to examine all the login records of a user. Normally, the server only keeps track of the most recently active login record for each user.

    `.help'
    Describe services provided by the finger server.

    Go to the previous, next section.