who - macOS


Overview

who lists the users currently logged in to the system, along with information about each user’s login time, terminal, and user ID.

Syntax

who [options]

Options/Flags

  • -a (All Users): Includes users that are not currently active.
  • -b (Boot Time): Shows the system boot time.
  • -d (Dead Processes): Includes processes that have terminated but have not been reaped by the system.
  • -H (Header): Displays a header with the output.
  • -l (Long Format): Provides more detailed information about each user.
  • -m (Minimal): Displays only the username and login time.
  • -p (Process Information): Shows detailed information about each user’s processes.
  • -q (Quiet): Suppresses most output.
  • -s (Short Format): Displays only the username, login time, and terminal.
  • -t (Time Format): Allows you to specify the format of the time that is displayed.

Examples

  • List all logged-in users in short format:
who -s
  • Show detailed information for each user:
who -l
  • List all users, including inactive ones:
who -a
  • Display the system boot time and user login times:
who -b

Common Issues

  • If no options are specified, who defaults to the -s (short format) output.
  • Inactive users may not be displayed if the -a (All Users) option is not used.
  • The -t (Time Format) option requires a valid time format string.

Integration

who can be integrated with other commands to perform more complex tasks:

  • Use who | grep to search for specific users.
  • Combine who with ps to get a list of all processes associated with a particular user.
  • Write scripts that use who‘s output to trigger actions based on the number or type of logged-in users.

Related Commands

  • users – Lists active users and information about their login time and terminal.
  • finger – Provides detailed information about a specific user.
  • last – Shows a history of logins and logouts.