List Logged In Unix Users

Unix has many commands to list users who are logged in.

These commands include ‘w,’ ‘who,’ and ‘users:’


$ w
9:51PM up 99 days, 5:39, 2 users, load averages: 0.83, 0.90, 0.90
USER TTY FROM LOGIN@ IDLE WHAT
will p0 c-66-164-235-73. 8:11AM - w
spencer p3 c-66-164-235-73. 8:26PM 1:24 pine

$ who
will ttyp0 Jul 26 08:11 (66.164.235.73)
spencer ttyp3 Jul 26 20:26 (66.164.235.73)

$ users
spencer will

List All Unix Users

To list all users on a Unix system, even the ones who are not logged in, look at the /etc/password file.


$ cat /etc/passwd
...
george:*:1009:1009:George Washington:/home/george:/usr/bin/bash
tom:*:1016:1016:Thomas Jefferson:/home/tom:/usr/bin/bash
al:*:1017:1017:Alexander Hamilton:/home/alex:/usr/bin/bash
...

Use the ‘cut’ command to only see one field from the password file.

For example, to just see the Unix user names, use the command “$ cat /etc/passwd | cut -d: -f1.”


$ cat /etc/passwd | cut -d: -f1
...
george
tom
al
...

Or to only see the GECOS field (i.e. the account holder’s real name), try this:


$ cat /etc/passwd | cut -d: -f5
...
George Washinton
Thomas Jefferson
Alexander Hamilton
...

Note that users will also see Unix system accounts such as “root,” “bin,” and “daemon” in the /etc/passwd file. These system accounts are not Unix users.