Linux finger command

Updated: 09/10/2024 by Computer Hope
finger command

On Unix-like operating systems, the finger command looks up and displays information about system users.

Syntax

finger [-lmsp] [user ...] [user@host ...]

Options

-s Displays the user's login name, real name, terminal name and write status (as a "*" after the terminal name if write permission is denied), idle time, login time, office location and office phone number.

Login time is displayed as month, day, hours and minutes, unless more than six months ago, in which case the year is displayed rather than the hours and minutes.

Unknown devices and nonexistent idle and login times are displayed as single asterisks.
-l Produces a multi-line format displaying all of the information described for the -s option and the user's home directory, home phone number, login shell, mail status, and the contents of the files ".plan", ".project", ".pgpkey" and ".forward" from the user's home directory.

Phone numbers specified as eleven digits are printed as "+N-NNN-NNN-NNNN". Numbers specified as ten or seven digits are printed as the appropriate subset of that string. Numbers specified as five digits are printed as "xN-NNNN". Numbers specified as four digits are printed as "xNNNN".

If write permission is denied to the device, the phrase "(messages off)" is appended to the line containing the device name. One entry per user is displayed with the -l option; if a user is logged on multiple times, terminal information is repeated once per login.

Mail status is shown as "No Mail." if there is no mail at all, "Mail last read DDD MMM ## HH:MM YYYY (TZ)" if the person has looked at their mailbox since new mail arriving, or "New mail received ...", "Unread since ..." if they have new mail.
-p Prevents the -l option of finger from displaying the contents of the ".plan", ".project" and ".pgpkey" files.
-m Prevent matching of usernames. The user is usually a login name; however, matching is also done on the users' real names, unless the -m option is supplied. All name matching performed by finger is case insensitive.

If no options are specified, finger defaults to the -l style output if operands are provided, otherwise to the -s style. Note that some fields may be missing, in either format, if information is not available for them.

If no arguments are specified, finger prints an entry for each user currently logged in to the system.

Finger can look up users on a remote machine. The format is to specify a user as "user@host", or "@host", where the default output format for the former is the -l style, and the default output format for the latter is the -s style. The -l option is the only option passed to a remote machine.

If standard output is a socket, finger will emit a carriage return (^M) before every linefeed (^J). This format is for processing remote finger requests when invoked by fingerd, the finger daemon.

Files

~/.nofinger If finger finds this file in a user's home directory, it will, for finger requests originating outside the local host, firmly deny the existence of that user. For this to work, the finger program, as started by fingerd, must be able to see the .nofinger file. This generally indicates the home directory containing the file must have the other-users-execute bit set (o+x). (See chmod). If you use this feature for privacy, please test it with "finger @localhost" before relying on it, just in case.
~/.plan

~/.project

~/.pgpkey
These files are printed as part of a long-format request. The .plan file may be of any length.

Examples

finger -p ch

Display information about the user ch. Output appears similar to the following:

Login name: admin
In real life: Computer Hope
On since Feb 11 23:37:16 on pts/7 from domain.computerhope.com
28 seconds Idle Time
Unread mail since Mon Feb 12 00:22:52 2001

ac — Print statistics about the time users were connected.
passwd — Change a user's password.
who — Report which users are logged in to the system.
whois — An Internet username directory service.