• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

TinyGrab

Your Trusted Source for Tech, Finance & Brand Advice

  • Personal Finance
  • Tech & Social
  • Brands
  • Terms of Use
  • Privacy Policy
  • Get In Touch
  • About Us
Home » What is the `who` command in Linux?

What is the `who` command in Linux?

June 22, 2025 by TinyGrab Team Leave a Comment

Table of Contents

Toggle
  • Unveiling the Secrets of the who Command in Linux: Your Guide to User Activity
    • Delving Deeper: Understanding the who Command Output
    • Mastering the Art of who: Exploring Useful Options
      • Essential Options:
      • Advanced Usage:
    • Practical Applications of the who Command
    • Frequently Asked Questions (FAQs) about the who Command
      • 1. What is the difference between who and w?
      • 2. How can I see all users who have ever logged into the system?
      • 3. What does the idle time mean in the who -u output?
      • 4. Why does the host column sometimes show an IP address instead of a hostname?
      • 5. How can I use who to find out the current runlevel of my system?
      • 6. Can I use who to see if a specific user is logged in?
      • 7. What are tty and pts devices? What is the difference between tty1 and pts/0?
      • 8. How can I find out the system boot time using who?
      • 9. What is the utmpx file that who reads?
      • 10. Does who show information about processes running under a user account?
      • 11. What happens if the utmpx file is corrupted?
      • 12. Is who a security risk? Does it reveal sensitive information?

Unveiling the Secrets of the who Command in Linux: Your Guide to User Activity

The who command in Linux is a powerful and straightforward utility that displays information about currently logged-in users. It provides a quick snapshot of who is using the system, where they are connected from, and when they logged in. It’s a fundamental tool for system administrators and anyone curious about the activity on their Linux machine.

Delving Deeper: Understanding the who Command Output

The basic who command, executed without any options, presents information in a tabular format. Each row typically includes the following:

  • Username: The login name of the user.
  • Terminal Line: The terminal or device the user is connected through (e.g., tty1, pts/0). tty devices are typically used for local console logins, while pts (pseudo terminal slave) devices are usually associated with remote logins via SSH or terminal emulators.
  • Login Time: The date and time the user logged in.
  • Host: The hostname or IP address from which the user is connected (only displayed for remote logins).

For instance, an output might look like this:

user1   tty1     2024-01-26 08:00 user2   pts/0    2024-01-26 09:30  (192.168.1.10) 

This tells us that user1 logged in on the local console (tty1) at 8:00 AM, and user2 logged in remotely via SSH (pts/0) from the IP address 192.168.1.10 at 9:30 AM.

Mastering the Art of who: Exploring Useful Options

While the basic who command is useful, its true potential lies in its various options, which allow you to tailor the output to your specific needs.

Essential Options:

  • who -b: Displays the system boot time. This is useful for determining how long the system has been running.

  • who -H: Adds a header row to the output, making it easier to understand the columns.

  • who -l: Lists only login processes. These are the processes waiting for users to log in.

  • who -q: Provides a quick count of logged-in users. It simply displays the user names, separated by spaces, followed by the total number of users.

  • who -r: Shows the current runlevel of the system. Runlevels define the system’s operational state (e.g., single-user mode, multi-user mode).

  • who -s: This is the default behavior, showing only the user’s name, line, and login time.

  • who -u: Adds information about idle time (how long the user has been inactive) and process ID. The idle time is represented in HH:MM format or . if the user is active.

  • who am i (or whoami): Displays information about the current user. whoami simply prints the current username, while who am i provides more detailed information similar to the standard who output, but limited to the current user.

Advanced Usage:

The who command can also be used in conjunction with other Linux utilities to create more complex and informative outputs. For example, you can pipe the output of who to grep to search for specific users or terminals.

who | grep user1  #Finds all lines containing user1 

Practical Applications of the who Command

The who command is an invaluable tool for various tasks:

  • Monitoring System Usage: Quickly check who is logged in and from where, helping to identify potential security threats or unauthorized access.
  • Troubleshooting Connectivity Issues: Determine if a user is connected to the system before attempting to assist them remotely.
  • System Administration: Obtain information about system uptime and runlevel.
  • Scripting: Integrate the who command into scripts to automate tasks such as monitoring user activity or generating reports.

Frequently Asked Questions (FAQs) about the who Command

Here are 12 frequently asked questions about the who command, designed to clarify common points of confusion and expand your understanding.

1. What is the difference between who and w?

While both who and w provide information about logged-in users, w offers a more detailed view. In addition to the information provided by who, w also displays the user’s current process and the CPU usage associated with it. It’s a more verbose command useful for identifying resource-intensive users.

2. How can I see all users who have ever logged into the system?

The who command only shows currently logged-in users. To view a history of logins, you’ll need to examine system logs, specifically the wtmp or btmp files. The last command is designed for this purpose. last reads these logs and displays a list of recent logins, reboots, and shutdowns.

3. What does the idle time mean in the who -u output?

The idle time indicates how long the user has been inactive on their terminal. If a user has been idle for a significant period, it might indicate that they have stepped away from their computer, which could be a security concern in some environments. A dot (.) in the idle column signifies that the user is currently active.

4. Why does the host column sometimes show an IP address instead of a hostname?

If the system cannot resolve the IP address to a hostname, it will display the IP address directly. This can happen if DNS is not configured correctly or if the hostname is not registered in the DNS server.

5. How can I use who to find out the current runlevel of my system?

Use the command who -r. This will display the current runlevel and the time it was changed.

6. Can I use who to see if a specific user is logged in?

Yes, you can use who in conjunction with grep. For example, who | grep username will display information about the user “username” if they are currently logged in.

7. What are tty and pts devices? What is the difference between tty1 and pts/0?

tty (teletypewriter) refers to a physical console connected directly to the system. tty1 is typically the first virtual console available. pts (pseudo terminal slave) represents a virtual terminal emulator, often used for SSH connections or terminal windows within a graphical environment. pts/0, pts/1, etc., are different instances of these virtual terminals.

8. How can I find out the system boot time using who?

Use the command who -b. This will display the date and time when the system was last booted.

9. What is the utmpx file that who reads?

The utmpx file is a database that stores information about user logins, logouts, system boot times, and other system events. The who command reads this file (or its predecessor, utmp, in older systems) to gather the information it displays.

10. Does who show information about processes running under a user account?

No, who only provides information about who is logged in, when they logged in, and from where. To see the processes running under a user account, you can use commands like ps -u username or top.

11. What happens if the utmpx file is corrupted?

If the utmpx file is corrupted, the who command may display inaccurate or incomplete information, or it may even fail to run. In such cases, you might need to repair or restore the utmpx file. The specifics of repair will depend on the Linux distribution.

12. Is who a security risk? Does it reveal sensitive information?

While who does display usernames and login times, it generally doesn’t pose a significant security risk. The information it provides is typically available to anyone with local access to the system. However, displaying hostnames or IP addresses of remote connections could potentially reveal network information, so caution should be exercised in environments where this information is considered sensitive.

Filed Under: Tech & Social

Previous Post: « How much is the Starbucks boba drink?
Next Post: How to Write a Data Analysis? »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

NICE TO MEET YOU!

Welcome to TinyGrab! We are your trusted source of information, providing frequently asked questions (FAQs), guides, and helpful tips about technology, finance, and popular US brands. Learn more.

Copyright © 2025 · Tiny Grab