当前位置:首页 > 编程语言 > 正文内容

Linux运维基础之who命令详解

a811625532年前 (2024-02-26)编程语言11

Linux 中的 who 命令是一个命令行实用程序,用于显示当前登录系统的用户信息。它能让你快速了解哪些用户登录了系统以及他们在做什么。

who 命令的输出通常包括用户名、终端名称(tty/pts)、登录日期和时间,以及用户的远程主机名称(如果是从远程位置登录)。

who 命令的一般语法:

$ who [OPTIONS...]

1. 显示所有用户信息

who -a

使用 -a 选项可以查看登录到当前系统的每个用户的所有详细信息。

示例:

下面是 who -a 命令可能显示的输出示例:

system boot  2023-07-09 08:15
run-level 5  2023-07-09 08:15
LOGIN        tty1         2023-07-09 08:15              420 id=tty1
username  +  pts/0        2023-07-09 10:18   .         1025 (192.168.1.10)

在此示例中:

  • system boot 2023-07-09 08:15 显示系统上次启动的时间。
  • run-level 5 2023-07-09 08:15 显示系统当前的运行级别以及上次更改的时间。运行级别 5 通常表示系统处于图形用户界面的多用户模式。
  • LOGIN tty1 2023-07-09 08:15 420 id=tty1 显示指定时间在终端 tty1 上启动的登录进程。数字 420 是登录进程的进程 ID,id=tty1 是终端的标识符。
  • username + pts/0 2023-07-09 10:18 . 1025 (192.168.1.10) 显示名为 username 的用户在指定时间登录了伪终端 pts/0。+ 号表示允许用户接收信息。点( . )表示用户处于活动状态。数字 1025 是用户 shell 的进程 ID,( 192.168.1.10 ) 是用户登录的远程主机的 IP 地址。

2. 显示系统最后一次启动时间

who -b

使用带有 -b 选项的 who 命令打印系统最后一次启动时间。

示例:

下面是 who -b 命令的输出示例:

system boot  2023-07-09 08:17

在这个例子中:

  • system boot 表示所提供的信息与系统启动时间有关。
  • 2023-07-09 08:17 是系统最后一次启动的日期和时间。

3. 列出所有登录用户

who -q

该命令只显示已登录用户的名称和已登录用户的总数。选项 -q 代表 “快速”。

示例:

下面是 who -q 命令的输出示例:

username1 username2 username3
# users=3

在此示例中:

  • username1username2, 和 username3 是当前登录系统的用户名。
  • # users=3 表示当前登录系统的用户总数。

4. 检查用户的写入权限

who -T

Linux 中的 who -t 命令用于显示上次系统启动时间。选项 -t 代表 “时间”。

示例:

让我们输入 who -T 命令,在终端中显示用户状态。

system boot  2023-07-09 08:15

在这个例子中:

  • system boot 表示系统最后一次启动的时间。
  • 2023-07-09 08:15 是系统最后一次启动的日期和时间。

5. 显示所有死亡进程

who -d

Linux 中的 who -d 命令用于显示已登录的用户,但也包括由用户启动但当前处于 “死亡” 状态的进程。这些进程由登录用户启动,但已不再与用户会话相连。

示例:

输入带有 -d 选项的 who 命令,显示所有死亡进程的详细信息。

username  pts/0        2023-07-09 10:18 (192.168.1.10)
username  pts/1        2023-07-09 10:20 .         12345

在本例中:

  • 之一行是普通用户会话,类似于 who 命令的输出。
  • 第二行代表一个 “死亡” 进程。第四列中的 . 表示该进程不再与用户会话相连。最后的数字 12345 是死亡进程的进程 ID(PID)。

6. 显示当前用户的信息

who -m

Linux 中的 who -m 命令用于显示当前终端的信息。-m 选项代表 “mesg”,是 “message” 的缩写。它只显示与当前终端有关的信息。

示例:

下面是 who -m 命令的输出示例:

username  pts/0        2023-07-09 10:18

在此示例中:

  • username 是登录用户的名称。
  • pts/0 是终端名称。pts 代表伪终端从属设备。如果用户通过物理终端登录,则应为 tty (电传打字机)。
  • 2023-07-09 10:18 是用户登录的日期和时间。

7. 显示 INIT 进程产生的所有活动进程

who -p

who -p 命令显示 init 系统生成的活动进程。不过,并非所有类 Unix 操作系统都提供此选项。

例如:

在可以使用该选项的系统上,可能会显示类似下面的输出:

run-level 3  2023-07-09 10:18

本例中:

  • run-level 3 表示系统当前的运行级别。运行级别是类似 Unix 的操作系统(如 Linux)运行时的一种状态或模式。不同的运行级别有不同的用途,并用数字表示。例如,运行级别 3 通常表示系统处于联网的多用户模式(具体含义因系统而异)。
  • 2023-07-09 10:18 是设置当前运行级别的日期和时间。

8. 显示当前 runlevel

who -r

Linux 中的 who -r 命令显示。运行级别是系统的一种状态,它定义了用户可以使用哪些服务和资源。

例如:

run-level 3  2023-07-09 10:18

在此示例中:

  • run-level 3 表示系统当前的运行级别。在本例中,运行级别是 3,这通常意味着系统处于多用户模式,可以联网(根据具体的 Linux 发行版本,运行级别会略有不同)。
  • 2023-07-09 10:18 是当前运行级别最后一次更改的日期和时间。

更多 Linux 命令

下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:

目录操作  ·  ·  ·  · 
文件操作  ·  ·  ·  ·  ·  ·  ·  · 
文件系统操作  ·  · 
***  ·  ·  ·  · 
搜索和文本处理  ·  ·  ·  ·  ·  · 
系统信息和管理  ·  ·  ·  ·  ·  · 
用户和会话管理  ·  ·  · 

此外,我们还整理 ,以帮助大家全面深入地学习 Linux。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8203.html

分享给朋友:

“Linux运维基础之who命令详解” 的相关文章

宝塔面板教程之安装及常见问题篇

宝塔面板教程之安装及常见问题篇

宝塔面板现在已经成为国内许多站长必备的服务器管理必备工具。相比直接使用SSH+FTP来管理服务器,宝塔面板可以提供可视化管理,包括文件管理、数据库管理、数据备份、SSL配置等等。 如果你希望更简单高效地管理您的网站及服务器,宝塔面板是不错的选择。下面是一些宝塔面板安装及常见问题:...

宝塔面板教程之数据库管理篇

宝塔面板教程之数据库管理篇

宝塔的数据库管理,是基于phpmyadmin管理和新建数据库。其最大的便利性就是类似,通过面板可以快速访问进行管理操作,无需单独访问phpmyadmin的主页。 此外,在宝塔面板进行数据库管理,你也对数据库名、用户名及密码等信息一目了然,及可以对数据库执行快速备份或者导入。 添加数据...

宝塔面板教程之安全管理篇

宝塔面板教程之安全管理篇

宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...

宝塔面板教程之面板设置篇

宝塔面板教程之面板设置篇

宝塔面板设置主要涉及的是宝塔控制后台自身的参数,包括诸如面板的开关、自动更新及SSL、面板端口设置等。虽然这部分不涉及服务器自身的管理,但对宝塔面板的设置也有其重要。 特别是面板端口、安全入口及面板密码等涉及安全的参数设置。 启动和关闭面板 如果你长时间无需使用到宝塔面板,可以考虑...

2022年PHP开发人员的平均工资统计报告

2022年PHP开发人员的平均工资统计报告

PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...

PostgreSQL与SQL Server之间的16个关键差异

PostgreSQL与SQL Server之间的16个关键差异

市场上有各种各样的数据库可供选择,用户通常可以仔细考虑PostgreSQL与SQL Server,以便为他们的用例找出更好的选择。使用PostgreSQL进行运营的组织可能希望切换到像Microsoft SQL Server这样的数据库,因为它主要迎合不同的数据仓库解决方案、电子商务和其他业务线...