The Challenge of Multi-User Systems
Because Linux is inherently designed as a multi-user operating system, a single server might have dozens of developers, system administrators, and automated service accounts logging in and out constantly throughout the day.
If you need to find out who currently owns a specific process, or if you need to know whether the lead developer is currently logged into the server so you can ask them a question, running complex grep searches against the /etc/passwd file is incredibly inefficient.
Instead, Linux administrators rely on the finger command. This classic Unix utility acts as a digital directory, providing instantly readable, highly detailed information about any user account on the system, including their real name, current login status, and even their unread emails.
Step 1: Installing the Finger Command
Because finger is a legacy command (originally designed in the 1970s for early internet communication), many modern, minimalist Linux distributions like Ubuntu Server or Alpine do not include it by default to save space.
If you type finger and get a “command not found” error, you must install it via your package manager.
On Debian/Ubuntu systems, run:
sudo apt install finger
On RHEL/CentOS/Fedora systems, run:
sudo dnf install finger
Step 2: Checking Who is Currently Logged In
The most basic use of the command is to simply type it with no arguments.
finger
This will output a clean table showing every human user currently logged into the server right this second. The table includes:
- Login: Their Unix username (e.g.,
jsmith). - Name: Their actual real-world name (e.g.,
John Smith). - Tty: The specific terminal session they are using (e.g.,
pts/0). - Idle: Exactly how many minutes they have been AFK (Away From Keyboard) without typing a command.
- Login Time: The exact date and time they connected to the server.
- Office: The IP address they connected from.
Step 3: Investigating a Specific User
If you want to look up a specific user—even if they are not currently logged in—you simply append their username to the command.
finger jsmith
The output will shift from a horizontal table into a highly detailed vertical profile. You will see their home directory path (/home/jsmith), their default shell (/bin/bash), and the exact timestamp of their last login (or a message stating they have “Never logged in”).
You will also see two strange fields at the bottom: Mail and Plan.
- Mail: The system will check
/var/mail/jsmithand tell you if John has unread system mail. - Plan: This is a classic Unix feature. If John creates a hidden text file named
.planin his home directory and writes “I am on vacation until Tuesday” inside it, thefingercommand will read that file and broadcast his vacation message to anyone who queries his account.
Step 4: Using the Real Name
If you are a new system administrator and you need to grant permissions to the new intern, but you only know her name is “Sarah” and you don’t know her Unix username, finger can help.
The command is smart enough to search the “Real Name” field in the user database, not just the exact login handle.
finger Sarah
The command will search the server, find the account swilliams (Sarah Williams), and display her profile, allowing you to quickly identify the correct account without needing to memorize everyone’s login handles.