Who (Unix)

The standard Unix command codice_1 displays a list of users who are currently logged into the computer.
The codice_1 command is related to the command w , which provides the same information but also displays additional data and statistics.
History.
A command that displays the names of users logged in was first implemented within Multics. Later, it appeared in Version 1 Unix and became part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX.1 and the Single Unix Specification. 
The version of codice_1 bundled in GNU coreutils was written by Joseph Arceneaux, David MacKenzie, and Michael Stone.
Specification.
The Single UNIX Specification (SUS) specifies that codice_1 should list information about accessible users. The XSI extension also specifies that the data of the username, terminal, login time, process ID, and time since last activity occurred on the terminal, furthermore, an alternate system database used for user information can be specified as an optional argument to who.
The command can be invoked with the arguments codice_5 or codice_6 (so it is invoked as codice_7 or codice_8), showing information about the current terminal only (see the command tty and the codice_9 option below, of which this invocation is equivalent).
Usage.
The SUS without extensions only specifies the following codice_9, codice_11, and codice_12 options, all other options are specified in the XSI extension.
Other Unix and Unix-like operating systems may add extra options. GNU who includes a codice_34 option behaving similarly to codice_12 and a codice_36 option displaying whether the user listed accepts messages (the SUS displays this when codice_11 is specified), yet GNU codice_1 and BSD codice_1 both omit a number of the above options (such as codice_13, codice_14, codice_15, and others); GNU codice_1 instead uses codice_16 to perform DNS lookups on hostnames listed.
Output.
The SUS without extensions specifies that the output format is to be "implementation-defined". The XSI extension specifies a format, but notes that it is not fully specified; delimiters and field lengths are not precisely specified. Thus, the format of the output differs considerably among Unix implementations.