Linux查看和剔除当前登录用户详细教程

简介: Linux查看和剔除当前登录用户详细教程

作为系统管理员,经常需要查看服务器的当前使用用户,和用户使用的进程等信息,下面介绍一些命令用于这些操作的查看


一、w命令查看登录用户正在使用的进程信息

命令:w

在这里插入图片描述
==任何一个虚拟控制台登录都会产生一个tty, 每一个远程连接都会产生一个pts==

  1. 开头信息:
  • users: 表示当前系统登陆用户总数为6。
  • load average: 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
  1. w命令输出的信息显示说明:
  • USER:用户名称
  • TTY:用户的机器名称或tty号
  • FROM:远程主机地址(就是登陆主机的IP地址)
  • LOGIN用户登录系统的时间
  • IDLE:空闲时间(作用不大)
  • JCPU:附加到tty(终端)的进程所用的时间(JCPU时间)join cpu
  • PCPU当前进程所用时间(PCPU时间)process cpu
  • WHAT:用户当前正在使用的命令
  1. w命令的其他选择参数:
  • -h忽略头文件信息
  • -u显示结果的加载时间
  • -s不显示JCPU, PCPU, 登录时间
    示例:
    mosheng@server:~/work2$ w
    16:48:38 up 17 days, 23:14,  6 users,  load average: 7.18, 7.70, 8.20
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    mosheng  tty7     :0               31Jan19 17days  3:36m  7.68s /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     09:44   16:14   2.90s  2.90s -bash
    mosheng  pts/23   192.168.1.55     09:52    6.00s  0.70s  0.00s w
    mosheng  pts/29   192.168.1.94     16:13   29:33   0.10s  0.10s -bash
    mosheng  pts/24   192.168.1.106    13:43    1:26   0.35s  0.35s -bash
    mosheng  pts/28   192.168.1.55     14:26    2:15m  0.22s  0.22s -bash
    mosheng@server:~/work2$ w -h
    mosheng  tty7     :0               31Jan19 17days  3:36m  7.68s /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     09:44   23:08   2.90s  2.90s -bash
    mosheng  pts/23   192.168.1.55     09:52    1.00s  0.71s  0.01s w -h
    mosheng  pts/29   192.168.1.94     16:13   36:27   0.10s  0.10s -bash
    mosheng  pts/24   192.168.1.106    13:43    3:31   0.40s  0.40s -bash
    mosheng  pts/28   192.168.1.55     14:26    2:22m  0.22s  0.22s -bash
    mosheng@server:~/work2$ w -u
    16:55:41 up 17 days, 23:21,  6 users,  load average: 8.50, 7.58, 7.86
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    mosheng  tty7     :0               31Jan19 17days  3:36m  7.68s /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     09:44   23:17   2.90s  2.90s -bash
    mosheng  pts/23   192.168.1.55     09:52    2.00s  0.70s  0.00s w -u
    mosheng  pts/29   192.168.1.94     16:13   36:36   0.10s  0.10s -bash
    mosheng  pts/24   192.168.1.106    13:43    3:40   0.40s  0.40s -bash
    mosheng  pts/28   192.168.1.55     14:26    2:22m  0.22s  0.22s -bash
    mosheng@server:~/work2$ w -s
    16:55:58 up 17 days, 23:21,  6 users,  load average: 7.73, 7.45, 7.81
    USER     TTY      FROM              IDLE WHAT
    mosheng  tty7     :0               17days /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     23:34  -bash
    mosheng  pts/23   192.168.1.55      2.00s w -s
    mosheng  pts/29   192.168.1.94     36:53  -bash
    mosheng  pts/24   192.168.1.106     3:57  -bash
    mosheng  pts/28   192.168.1.55      2:22m -bash
    

二、who命令查看当前正在登陆的用户

命令:who

列出当前登陆的用户名和登陆用户的设备主机名称或tty号 , 登陆时间,用户登陆机的IP地址

mosheng@server:~/work2$ who
mosheng  tty7         2019-01-31 17:35 (:0)
mosheng  pts/22       2019-02-18 09:44 (192.168.1.55)
mosheng  pts/23       2019-02-18 09:52 (192.168.1.55)
mosheng  pts/29       2019-02-18 16:13 (192.168.1.94)
mosheng  pts/24       2019-02-18 17:02 (192.168.1.106)
mosheng  pts/28       2019-02-18 14:26 (192.168.1.55)
  1. 如果只列出用户名,可以使用一下命令

    命令:who | cut -d' ' -f1 | sort | uniq

示例:

mosheng@server:~/work2$ who | cut -d' ' -f1 | sort | uniq
mosheng
  1. whoami只显示自己登陆的用户名

    命令:whoami

示例:

mosheng@server:~/work2$ whoami
mosheng
  1. who am i只显示自己登陆的用户名、设备、登陆时间、登陆主机IP地址

    命令:who am i

示例:

mosheng@server:~/work2$ who am i
mosheng  pts/23       2019-02-18 09:52 (192.168.1.55)
# 这是我PC的IP地址
  1. logname查看登陆的用户名和whoami效果一样

    命令:who | cut -d' ' -f1 | sort | uniq

示例:

mosheng@server:~/work2$ logname
mosheng
  1. users查看当前所有的登录用户名

    命令:users

示例:

mosheng@server:~/work2$ users
mosheng mosheng mosheng mosheng mosheng mosheng

三、last查看登陆用户的历史信息

命令:last

last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息:

  • 用户名称
  • tty设备号
  • 历史登录时间日期
  • 登出时间日期
  • 总工作时间

示例:

mosheng@server:~/work2$ last
mosheng  pts/24       192.168.1.106    Mon Feb 18 17:02   still logged in
mosheng  pts/29       192.168.1.94     Mon Feb 18 16:13   still logged in
mosheng  pts/29       192.168.1.106    Mon Feb 18 16:00 - 16:04  (00:04)
mosheng  pts/29       192.168.1.106    Mon Feb 18 15:11 - 15:59  (00:48)
mosheng  pts/28       192.168.1.55     Mon Feb 18 14:26   still logged in
mosheng  pts/24       192.168.1.106    Mon Feb 18 13:43 - 17:02  (03:18)
mosheng  pts/23       192.168.1.55     Mon Feb 18 09:52   still logged in
mosheng  pts/22       192.168.1.55     Mon Feb 18 09:44   still logged in
mosheng  pts/24       192.168.1.106    Sun Feb 17 13:56 - 16:49  (02:53)
mosheng  pts/23       192.168.1.53     Sun Feb 17 13:49 - 14:14  (00:25)
mosheng  pts/22       192.168.1.113    Sun Feb 17 13:48 - 16:21  (02:32)
mosheng  pts/22       192.168.1.106    Fri Feb 15 19:31 - 23:43  (04:11)
mosheng  pts/22       192.168.1.106    Fri Feb 15 18:23 - 19:31  (01:07)
mosheng  pts/29       192.168.1.113    Fri Feb 15 17:42 - 19:25  (01:43)
mosheng  pts/25       192.168.1.53     Fri Feb 15 16:04 - 19:19  (03:15)
mosheng  pts/24       192.168.1.106    Fri Feb 15 15:10 - 17:57  (02:46)
  1. last username查看指定用户的登录历史信息

    命令:last username

示例:

mosheng@server:~/work2$ last mosheng
mosheng  pts/24       192.168.1.106    Mon Feb 18 17:02   still logged in
mosheng  pts/29       192.168.1.94     Mon Feb 18 16:13   still logged in
mosheng  pts/29       192.168.1.106    Mon Feb 18 16:00 - 16:04  (00:04)
mosheng  pts/29       192.168.1.106    Mon Feb 18 15:11 - 15:59  (00:48)
mosheng  pts/28       192.168.1.55     Mon Feb 18 14:26   still logged in
mosheng  pts/24       192.168.1.106    Mon Feb 18 13:43 - 17:02  (03:18)
mosheng  pts/23       192.168.1.55     Mon Feb 18 09:52   still logged in
mosheng  pts/22       192.168.1.55     Mon Feb 18 09:44   still logged in
mosheng  pts/24       192.168.1.106    Sun Feb 17 13:56 - 16:49  (02:53)
mosheng  pts/23       192.168.1.53     Sun Feb 17 13:49 - 14:14  (00:25)
mosheng  pts/22       192.168.1.113    Sun Feb 17 13:48 - 16:21  (02:32)
mosheng  pts/22       192.168.1.106    Fri Feb 15 19:31 - 23:43  (04:11)
mosheng  pts/22       192.168.1.106    Fri Feb 15 18:23 - 19:31  (01:07)
  1. 如果只列出用户名,可以使用一下命令

    命令:who | cut -d' ' -f1 | sort | uniq

示例:

mosheng@server:~/work2$ who | cut -d' ' -f1 | sort | uniq
mosheng

四、pkill剔除当前的登录用户

命令:pkill -u username

示例:

mosheng@server:~/work2$ pkill -u mohsheng

注意:这个命令实际上很危险,要相当小心的执行 原因参考 http://www.blogguy.cn/
安全的做法是先查看终端号,然后查看该终端执行的所有进程,根据进程号来停止服务
安全剔除用户

ps -ef| grep pts/0

得到用户登录相应的进程号pid后执行.

kill -9 pid

目录
相关文章
|
3月前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
1518 1
linux centos上安装python3.11.x详细完整教程
|
2天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
12 0
|
1月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
307 6
|
1月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
38 4
|
2月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
1791 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
2月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
634 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
380 3
|
3月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
2月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
343 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
2月前
|
Linux 开发工具 Docker
各个类linux服务器安装docker教程
各个类linux服务器安装docker教程
71 0