who Command in Linux with Examples

This tutorial explains Linux “who” command, options and its usage with examples.

who – Displays who is logged on to the system.

Description :

who command can list the names of users currently logged in, their terminal, the time they have been logged in, and the name of the host from which they have logged in.

Usage :
who [options] [file]

Options :

-a, –all
Same as using the options -b -d –login -p -r -t -T -u.
-b, –boot
Display the time of the last system boot.
-d, –dead
Display dead processes.
-H, –heading
Print a line of column headings.
-l, –login
Print system login processes.
-m
Only print information about the user and host associated with standard input (the terminal where the command was issued). This method adheres to the POSIX standard.
-p, –process
Print active processes spawned by init.
-q, –count
Displays all login names, and a count of all logged-on users.
-r, –runlevel
Print the current runlevel.
-s, –short
Print only name, line, and time fields. This is the default.
-t, –time
Print the last time the system clock was changed, if the information is available.
-T, -w, –mesg
Add a character which indicates the state of the terminal line: “+” if the terminal is writable, “-” if it is not, or “?” if a bad line is encountered.
-u, –users
Print the idle time for each user, and the process ID.

Examples :

advertisement
advertisement

1. Demonstration of -H option

$ who -uH
Output:
NAME     LINE         TIME         IDLE          PID COMMENT
abcd     ttyp3        Mar 10 11:08   .          4578

This sample output was produced at 11 a.m. The “.” indiacates activity within the last minute.

2. Print Current user’s username

$ who am i
abcd

3. Display the username, line, and time of all currently logged-in sessions

$ who
lucy pts/1 2014-01-17 22:42 (:0.0) 
psmith pts/2 2014-01-18 09:30 (:0.0) 
alan pts/3 2013-12-25 08:52 (:0.0) 
neil pts/4 2014-01-05 15:33 (:0.0) 
martha pts/0 2013-09-04 22:05 (:0.0)

4. Get the time of last system boot

The is done using the -b option.

advertisement
$ who -b
         system boot  2014-03-07 05:32

5. Get information on system login processes

This is done using the -l option.

 $ who -l
LOGIN    tty4         2014-03-07 05:32              1309 id=4
LOGIN    tty5         2014-03-07 05:32              1313 id=5
LOGIN    tty2         2014-03-07 05:32              1322 id=2
LOGIN    tty3         2014-03-07 05:32              1324 id=3
LOGIN    tty6         2014-03-07 05:32              1327 id=6
LOGIN    tty1         2014-03-07 05:32              1492 id=1

6. Get the current run level

advertisement

This is done using the -r option.

$ who -r
         run-level 2  2014-03-07 05:32

7. Get number of users logged-in and their user names

This is done using the -q option.

$ who -q
abc def ghi
# users=3

8. Get all the information

This is done using the -a option.

$ who -a
           system boot  2014-03-07 05:32
           run-level 2  2014-03-07 05:32
LOGIN      tty4         2014-03-07 05:32              1309 id=4
LOGIN      tty5         2014-03-07 05:32              1313 id=5
LOGIN      tty2         2014-03-07 05:32              1322 id=2
LOGIN      tty3         2014-03-07 05:32              1324 id=3
LOGIN      tty6         2014-03-07 05:32              1327 id=6
LOGIN      tty1         2014-03-07 05:32              1492 id=1
abc      + tty7         2014-03-07 05:33  old         1619 (:0)
def      + pts/0        2014-03-07 06:47   .          2336 (:0.0)
ghi      + pts/1        2014-03-07 07:58   .          2336 (:0.0)

Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.

If you wish to look at all Linux commands and their usage examples, go to Linux Commands Tutorial.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.