The finger command in Linux is a user information lookup utility that displays details about users currently logged in to a system. It provides information such as the user’s login name, real name, home directory, shell, terminal name, idle time, login time, and other optional details like project or plan files stored in the user’s home directory.
Linux and Unix are multi-user operating systems where multiple users can access the same machine simultaneously. System administrators often need a quick way to check user activity, verify login sessions, or retrieve account information. The finger command makes this process simple by displaying detailed user information directly from the terminal.
When executed without arguments, finger displays information about all users currently logged into the system. When a username is provided, it shows detailed information about that specific user account.
Although the finger command was widely used in traditional Unix systems, it is not installed by default on many modern Linux distributions due to privacy and security concerns. However, it remains a useful tool for administrators when diagnosing login activity or monitoring users on shared systems.
Installing finger on Linux
The finger utility is not installed by default on most Linux distributions. You can install it using the package manager for your distribution.
Install finger on RHEL, Rocky, AlmaLinux, Fedora
Use the dnf or yum package manager to install finger.
sudo dnf install finger
On older systems using yum:
sudo yum install finger
Install finger on Ubuntu and Debian
On Debian-based systems, install finger using apt.
sudo apt update
sudo apt install finger
Verify finger installation
After installation, confirm the command is available.
finger --version
You can also test the command by running:
finger
If the command executes successfully, the installation is complete.
Syntax of the finger Command
The basic syntax of the finger command is simple. You can run it with or without arguments depending on the information you want to retrieve.
Basic finger command syntax
finger [options] [username]
Examples:
Display information about all logged-in users:
finger
Display information about a specific user:
finger username
Query user information from a remote system:
finger username@hostname
Understanding finger output fields
The output of the finger command typically includes several fields describing the user account.
Common fields include:
- Login – Username used to log into the system
- Name – Real name of the user
- Directory – User’s home directory
- Shell – Default login shell
- On since – Date and time the user logged in
- Idle – How long the user has been inactive
- TTY – Terminal the user is logged into
- Plan – Contents of the
.planfile in the user’s home directory
These details help administrators quickly understand user activity on the system.
Quick Reference: finger Command Cheat Sheet
The following table lists the most commonly used finger command options and examples.
| Task | Command |
|---|---|
| Display all logged-in users | finger |
| Display information for a specific user | finger username |
| Display output in short format | finger -s username |
| Display detailed long format | finger -l username |
| Prevent matching full name | finger -m username |
Hide .plan and .project details |
finger -p username |
| Query user on remote system | finger username@hostname |
| Query remote finger server | finger @hostname |
View Logged-In Users on a Linux System
Display all logged-in users
Running the finger command without any arguments displays information about all currently logged-in users.
finger
The output typically shows the username, real name, terminal (TTY), idle time, login time, and office information if configured.
Understand the finger output columns
The output of the finger command contains several columns describing user activity.
Common fields include:
- Login – Username of the logged-in user
- Name – Real name associated with the account
- TTY – Terminal the user is logged into
- Idle – Time since the user last interacted with the terminal
- Login Time – When the user logged into the system
- Office / Office Phone – Optional information configured by administrators
These details help administrators understand system usage and monitor user activity.
Identify idle users in the system
You can use the finger command to identify users who have been idle for long periods.
finger
Check the Idle column to determine which users have been inactive. This can help identify unused sessions or terminals left open.
Retrieve Information About a Specific User
Display information for a specific username
To retrieve details about a particular user, specify the username.
finger username
Example:
finger deepak
This displays information such as the user’s login shell, home directory, and last login activity.
Display user details using full name
In some systems, the finger command can match users using their full name stored in the user database.
finger "John Doe"
This searches for users whose real name matches the specified value.
Prevent full name matching with -m option
The -m option forces finger to match only the login name and not the user’s full name.
finger -m username
Example:
finger -m parker
This ensures the command searches strictly for the specified username.
Display User Information in Different Formats
Display short format output
The -s option displays user information in a short column format.
finger -s username
Example:
finger -s deepak
This format is useful when you want concise user information.
Display detailed long format output
The -l option shows detailed information about the user account.
finger -l username
Example:
finger -l deepak
This output typically includes:
- Home directory
- Default shell
- Login time
- Mail status
- User plan information
Hide .plan and .project details
Users can store personal notes in .plan or .project files in their home directories. The -p option prevents finger from displaying these files.
finger -p username
Example:
finger -p deepak
This hides plan and project information from the output.
Display User Plans and Projects
How the .plan file works
The .plan file is a text file stored in the user’s home directory. It can contain personal notes or status messages.
To create a .plan file:
nano ~/.plan
Any text added to this file will appear in the finger output.
How the .project file works
The .project file allows users to describe their current work or projects.
Create the file using:
nano ~/.project
Information stored here will also be displayed when someone runs the finger command for that user.
Display user project details using finger
To display plan or project information for a user:
finger username
Example:
finger deepak
If .plan or .project files exist, their contents will appear in the output.
Query Users on Remote Systems
Check user information on a remote host
You can query a remote host by specifying the username and hostname.
finger username@hostname
Example:
finger user@remote-server
This displays information about the specified user on the remote system.
Query a remote finger server
To query all users on a remote system:
finger @hostname
Example:
finger @example.com
This retrieves user information from the remote finger service.
Understand security implications of remote finger
Remote finger access is often disabled on modern systems because it can expose sensitive user information such as login activity and account details.
For security reasons:
- Many servers disable the finger service
- Firewalls may block finger queries
- Administrators restrict access to prevent information leakage
Always verify security policies before enabling remote finger services.
Use finger for System Administration Tasks
Identify inactive or idle users
The finger command displays an Idle column that shows how long a user has been inactive.
finger
Users who have been idle for a long period may have abandoned sessions or inactive terminals. Administrators can review these sessions and close them if necessary.
Check login activity on the system
To view login activity for a specific user, run:
finger username
Example:
finger deepak
This displays details such as the user’s login terminal, login time, and whether the user is currently active.
Audit user login sessions
System administrators can combine finger with other commands to audit user sessions.
Example: list currently logged-in users and filter them.
finger | grep Login
This helps administrators quickly review user login activity across the system.
Troubleshoot User Login Issues
Verify user shell and home directory
To check the shell and home directory configured for a user:
finger username
Example:
finger deepak
Look for the following fields in the output:
- Directory – User home directory
- Shell – Default login shell
Incorrect shell configuration can prevent users from logging in.
Detect inactive user sessions
Administrators can identify inactive sessions by checking the Idle column.
finger
If a session remains idle for an unusually long time, it may indicate a disconnected terminal or abandoned login.
Check user account information quickly
The finger command provides a quick overview of a user account.
finger username
This allows administrators to verify user details without manually inspecting system files such as /etc/passwd.
Automate User Information Checks
Use finger inside shell scripts
You can use the finger command in scripts to monitor user activity.
Example script snippet:
#!/bin/bash
finger | grep Login
This script retrieves login information and filters relevant entries.
Combine finger with grep to filter output
The output of finger can be filtered using grep.
Example: find information about a specific user.
finger | grep username
Example:
finger | grep deepak
This quickly extracts relevant user information from the command output.
Extract user login information using pipelines
You can combine finger with other utilities to process output.
Example: display only usernames.
finger | awk '{print $1}'
This extracts the first column from the finger output.
Security Considerations of finger
Why finger is disabled on many systems
Many Linux distributions do not install finger by default because it can reveal sensitive user information such as:
- login activity
- user directories
- account names
For security reasons, administrators often disable finger services on production systems.
Risks of exposing user information
If the finger service is enabled on a network server, remote users may query information about local accounts.
Example remote query:
finger user@hostname
This could potentially expose system user details to unauthorized users.
Best practices when using finger
To safely use the finger command:
- Install finger only when needed
- Restrict remote finger access
- Disable the finger service on internet-facing systems
- Limit access to trusted administrators
Following these practices helps prevent unnecessary exposure of system information.
Common finger Command Mistakes and Tips
finger command not found error
On many modern Linux distributions, the finger command is not installed by default. If you try to run it before installing the package, you may see the following error:
finger: command not found
To resolve this issue, install the finger package using your distribution’s package manager.
For RHEL, Rocky Linux, AlmaLinux, or Fedora:
sudo dnf install finger
For Ubuntu or Debian:
sudo apt install finger
After installation, verify the command is available:
finger
Why finger returns no such user
Sometimes the finger command may return the following message:
finger: username: no such user
This usually happens when:
- The username does not exist on the system
- The username was misspelled
- The account was removed or disabled
To verify whether a user exists on the system, check the /etc/passwd file.
grep username /etc/passwd
If the user exists, ensure you are using the correct login name instead of the full name.
Handling restricted finger services
Remote finger queries may fail if the finger service is disabled on the target system.
Example remote query:
finger user@hostname
Many servers disable remote finger access due to security concerns. If the service is blocked, the command may return a connection error or no output.
Administrators can disable remote finger access by stopping or removing the finger service.
Frequently Asked Questions
1. What is the finger command in Linux?
The finger command in Linux is a user information lookup utility that displays details about system users such as login name, home directory, shell, idle time, and login status.2. How do I check logged-in users using the finger command?
Run the finger command without any arguments. It displays information about currently logged-in users on the system.3. How can I display information for a specific user using finger?
You can specify a username with the command. For example, run finger username to display details about that user.4. Is the finger command installed by default in Linux?
No, the finger command is usually not installed by default on most Linux distributions and must be installed using the system package manager.5. What is the alternative to the finger command in Linux?
The pinky command is a lightweight alternative to finger that also displays information about logged-in users.Conclusion
The finger command in Linux is a simple yet useful utility for retrieving information about system users. It allows administrators to quickly view details such as login activity, terminal sessions, home directories, and user configuration settings.
Although it is not commonly installed by default on modern Linux systems, finger can still be valuable for system administration tasks, troubleshooting login issues, and monitoring user sessions on multi-user systems.
By understanding how to use the various options and scenarios covered in this guide, you can efficiently retrieve and analyze user information directly from the Linux command line.
Further Reading
If you want to explore more Linux commands related to user management and system monitoring, consider the following guides:
You can also refer to the official manual pages for more details:
man finger
