要查看谁在使用服务器,可以通过以下几种方法实现:
使用who命令
who命令是Linux系统中用于查看当前登录用户信息的命令。它可以显示当前登录系统的用户列表,包括用户名、登录时间以及登录来源(终端设备或远程IP地址)。在终端中输入以下命令:
who
该命令将显示当前登录用户信息,例如:
user1 tty1 2021-01-01 10:00
user2 pts/0 2021-01-01 11:00 (192.168.1.100)
其中,每行的第一列是用户名,第二列是终端设备或远程登录的IP地址,第三列是登录时间。
使用w命令
w命令可以提供比who命令更详细的信息,包括当前登录用户的进程信息。它可以显示每个用户的用户名、终端设备、登录时间、登录时长以及所运行的进程等。在终端中输入以下命令:
w
该命令将显示当前登录用户的详细信息,例如:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 tty1 - 10:00 1:23m 0.01s 0.01s -bash
user2 pts/0 192.168.1.100 11:00 5.45s 0.01s 0.01s -bash
其中,每列的含义分别是:用户名、终端设备、登录来源、登录时间、闲置时间、最近JCPU时间、最近PCPU时间以及当前运行的进程。
使用ps命令结合grep过滤
ps命令用于查看系统进程信息,结合grep命令可以过滤出特定用户的进程。在终端中输入以下命令:
ps aux | grep username
将"username"替换为要查找的用户名,该命令将显示该用户的进程信息,例如:
user1 1234 0.0 0.1 123456 7890 pts/0 S+ 10:00 0:01 command
user1 5678 0.0 0.2 234567 9012 tty1 S+ 10:00 0:03 command
其中,每列的含义分别是:用户名、进程ID、CPU使用率、内存使用率、虚拟内存大小、物理内存大小、终端设备、进程状态、开始时间、运行时间以及进程命令。
使用netstat命令
netstat命令用于显示网络连接、路由表和网络接口等网络相关信息。结合grep命令,可以查看特定用户的网络连接信息。在终端中输入以下命令:
netstat -anp | grep username
将"username"替换为要查找的用户名,该命令将显示该用户的网络连接信息,例如:
tcp 0 0 192.168.1.100:22 192.168.1.200:12345 ESTABLISHED 1234/sshd: user1
tcp 0 0 192.168.1.100:80 192.168.1.201:54321 ESTABLISHED 5678/apache2
其中,每列的含义分别是:协议、本地IP地址和端口、远程IP地址和端口、连接状态、进程ID/进程名。
通过以上方法,你可以查看服务器上每个用户当前的登录情况、进程信息以及网络连接情况。这些信息可以帮助你了解谁在使用服务器,并进行管理和监控。