who command in Linux

who command is used to find out the following information :
1. Time of last system boot
2. Current run level of the system
3. List of logged in users and more.

Description : The who command is used to get information about currently logged in user on to system.

Syntax : $who [options] [filename] 

Examples :
1. The who command displays the following information for each user currently logged in to the system if no option is provided :



  1. Login name of the users
  2. Terminal line numbers
  3. Login time of the users in to system
  4. Remote host name of the user
hduser@mahesh-Inspiron-3543:~$ who
hduser   tty7         2018-03-18 19:08 (:0)
hduser@mahesh-Inspiron-3543:~$ 

2. To display host name and user associated with standard input such as keyboard

hduser@mahesh-Inspiron-3543:~$ who -m -H
NAME     LINE         TIME             COMMENT

3. To show all active processes which are spawned by INIT process

hduser@mahesh-Inspiron-3543:~$ who -p -H
NAME     LINE         TIME                    PID COMMENT

4. To show status of the users message as +, – or ?

hduser@mahesh-Inspiron-3543:~$ who -T -H
NAME       LINE         TIME             COMMENT
hduser   + tty7         2018-03-18 19:08 (:0)

5. To show list of users logged in to system

hduser@mahesh-Inspiron-3543:~$ who -u
hduser   tty7         2018-03-18 19:08 01:16        3357 (:0)

6. To show time of the system when it booted last time

hduser@mahesh-Inspiron-3543:~$ who -b -H
NAME     LINE         TIME                    PID COMMENT
         system boot  2018-03-18 19:07

7. To show details of all dead processes

hduser@mahesh-Inspiron-3543:~$ who -d -H (NO dead process in this case)
NAME     LINE         TIME             IDLE          PID COMMENT  EXIT 
NAME     LINE         TIME             IDLE          PID COMMENT  EXIT

8. To show system login process details

hduser@mahesh-Inspiron-3543:~$ who -l -H
NAME     LINE         TIME             IDLE          PID COMMENT
LOGIN    tty1         2018-03-18 19:07              3073 id=tty1

9. To count number of users logged on to system

hduser@mahesh-Inspiron-3543:~$ who -q -H
hduser
# users=1

10. To display current run level of the system

hduser@mahesh-Inspiron-3543:~$ who -r
         run-level 5  2018-03-18 19:07

11. To display all details of current logged in user

hduser@mahesh-Inspiron-3543:~$ who -a
           system boot  2018-03-18 19:07
LOGIN      tty1         2018-03-18 19:07              3073 id=tty1
           run-level 5  2018-03-18 19:07
hduser   + tty7         2018-03-18 19:08 01:13        3357 (:0)

12. To display system’s username

hduser@mahesh-Inspiron-3543:~$ whoami
hduser

13. To display list of users and their activities

hduser@mahesh-Inspiron-3543:~$ w
 20:39:20 up  1:32,  1 user,  load average: 0.09, 0.06, 0.07
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
hduser   tty7     :0               19:08    1:32m 38.95s  0.19s /sbin/upstart -

14. To display user identification information

hduser@mahesh-Inspiron-3543:~$ id
uid=1001(hduser) gid=1001(hadoop) groups=1001(hadoop), 27(sudo)

Note : For more details, refer linux man page.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.