Today we will briefly introduce several methods to list logged-in users in Linux systems.
In a multi-user Linux system, there is sometimes a need to query the users currently logged in to the system. For example, a user needs to be logged out for some reason.
Today we will briefly introduce several methods to list logged-in users in Linux systems.
Among the methods we introduced, almost all commands rely on data existing in the /var or /proc directory. If you know anything about directory structure in Linux, you know that these two directories contain data about the processes running on the system.
1. Use the w command to view the logged-in users in the Linux system
This is the simplest method. Just type a letter command to query the users logged in in the current system.
w
The following is the output of the w command:
$ w 09:54:54 up 26 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 202.91.87.114 09:37 21.00s 0.00s 0.00s -bash abhi pts/1 202.91.87.114 09:47 0.00s 0.00s 0.00s w rohini pts/2 157.43.53.142 09:48 6:13 0.00s 0.00s -bash
Let’s give a brief explanation of the above output, which will also be covered in other commands.
In the above output, TTY displays the terminal information of the user login, where pts represents the pseudo-terminal slave, that is, logged in through ssh connection.
The following columns display the IP address, login time and idle time of the user's computer respectively.
JCPU is the time spent by all processes connected to the TTY, PCPU is the time spent by the current process running by the user. The WHAT column displays the current process.
2, use the who command to view the logged in user
To query logged-in users, the who command is also a commonly used method, and it is also very simple to use.
who
The output is as follows:
$ who root pts/0 Aug 6 09:37 (202.91.87.114) abhi pts/1 Aug 6 09:47 (202.91.87.114) rohini pts/2 Aug 6 09:48 (157.43.53.142)
3, use users command
The above two methods, w command and who command, will display the detailed information of the currently logged in user (such as terminal, IP address, login time, etc.). Sometimes you may only want the user name (for example, if you want to write a script). After using the w or who command, you need to parse its output, which is additional work. So, is there a way to just get the user's login name? The answer is yes, that is to use the users command. As follows:
$ users abhi rohini root
4, use finger command
The finger command is not pre-installed in all Linux distributions, so you need to install it manually before using it. For example, in Ubuntu you can use the following command to install:
sudo apt install finger
After the installation is complete, you can directly use the finger command to view the list of users logged in in the current system:
finger
The output is as follows:
$ finger Login Name Tty Idle Login Time Office Office Phone abhi Abhishek pts/1 Aug 6 09:47 (202.91.87.114) rohini Rohini Rachita pts/2 13 Aug 6 09:48 (157.43.53.142) root root *pts/0 Aug 6 09:37 (202.91.87.114)
Others: Check who logged in to the system after the last restart
The method we introduced above is to query the users who are currently logged in to the system. So is there a way to query who has logged in to the system?
Thelast command can display which users have logged into the system since the last restart of the system (including those who are currently logged in and those who have logged out). For logged out users, their login time and logout time are also displayed.
last
The output is as follows:
$ last rohini pts/3 157.43.53.142 Tue Aug 6 10:05 - 10:05 (00:00) rohini pts/2 157.43.53.142 Tue Aug 6 09:48 still logged in abhi pts/1 202.91.87.114 Tue Aug 6 09:47 still logged in root pts/0 202.91.87.114 Tue Aug 6 09:37 still logged in reboot system boot 4.15.0-52-generi Tue Aug 6 09:28 still running wtmp begins Tue Aug 6 09:28:43 2022
The above is the detailed content of How to view all currently logged in users in Linux system. For more information, please follow other related articles on the PHP Chinese website!