Linux系统之who命令的基本使用

举报
江湖有缘 发表于 2024/10/27 23:47:30 2024/10/27
【摘要】 Linux系统之who命令的基本使用

在这里插入图片描述

一、who命令介绍

who 命令在 Linux 系统中用于显示当前登录到系统的用户信息。它可以显示用户的用户名、终端设备、登录时间以及主机名等信息。

二、who命令的使用帮助

2.1 who命令的help帮助信息

  • 查询help帮助信息
[root@openEuler-test ~]# who --help
Usage: who [OPTION]... [ FILE | ARG1 ARG2 ]
Print information about users who are currently logged in.

  -a, --all         same as -b -d --login -p -r -t -T -u
  -b, --boot        time of last system boot
  -d, --dead        print dead processes
  -H, --heading     print line of column headings
  -l, --login       print system login processes
      --lookup      attempt to canonicalize hostnames via DNS
  -m                only hostname and user associated with stdin
  -p, --process     print active processes spawned by init
  -q, --count       all login names and number of users logged on
  -r, --runlevel    print current runlevel
  -s, --short       print only name, line, and time (default)
  -t, --time        print last system clock change
  -T, -w, --mesg    add user's message status as +, - or ?
  -u, --users       list users logged in
      --message     same as -T
      --writable    same as -T
      --help        display this help and exit
      --version     output version information and exit

If FILE is not specified, use /var/run/utmp.  /var/log/wtmp as FILE is common.
If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/who>
or available locally via: info '(coreutils) who invocation'

2.2用法解释

  • 基本语法
who [选项]... [文件 | 参数1 参数2]
  • 选项
选项 描述
-a, --all 等同于 -b -d --login -p -r -t -T -u,显示所有信息。
-b, --boot 显示系统最近一次启动的时间。
-d, --dead 显示死掉的进程(通常是已经退出但还没有从 utmp 文件中删除的条目)。
-H, --heading 打印列标题。
-l, --login 显示系统登录进程。
--lookup 通过 DNS 尝试规范主机名。
-m 只显示与标准输入关联的主机名和用户名。
-p, --process 显示由 init 进程生成的活动进程。
-q, --count 显示所有登录名及登录用户的数量。
-r, --runlevel 显示当前的运行级别。
-s, --short 只打印名称、终端和时间(默认行为)。
-t, --time 显示最后一次系统时钟更改的时间。
-T, -w, --mesg 添加用户的终端消息状态(+ 表示允许写入,- 表示禁止写入,? 表示未知)。
-u, --users 列出登录的用户。
--message -T
--writable -T
--help 显示帮助信息并退出。
--version 输出版本信息并退出。

三、who命令的基本使用

3.1 查看当前系统版本

  • 查看当前时间的系统版本
[root@openEuler-test ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"

3.2 直接使用who命令

在命令行终端,直接执行who命令,显示当前登录的用户。

[root@openEuler-test ~]# who
root     pts/0        2024-10-06 13:21 (192.168.3.241)

3.3 显示所有信息

使用-a选项,显示所有信息:包括登录名、终端、登录时间、空闲时间、进程 ID 和主机名。

[root@openEuler-test ~]# who -a
           system boot  2024-10-06 13:09
           run-level 3  2024-10-06 13:10
LOGIN      tty1         2024-10-06 13:10              1087 id=tty1
root     + pts/0        2024-10-06 13:21   .          1815 (192.168.3.241)

3.4 显示系统最近一次启动的时间

使用-b选项,显示系统最近一次启动的时间。

[root@openEuler-test ~]# who -b
         system boot  2024-10-06 13:09

3.5 只显示登录用户的数量

  • 只显示登录用户的数量
[root@openEuler-test ~]# who -q
root root admin
# users=3

3.6 显示当前登录的用户及其相关信息

使用-u选项,列出当前登录用户信息。

[root@openEuler-test ~]# who -u
root     pts/0        2024-10-06 13:21   .          1815 (192.168.3.241)
root     pts/1        2024-10-06 13:47   .          1988 (192.168.3.241)
admin    pts/2        2024-10-06 13:48   .          2187 (192.168.3.89)

3.7 打印出列标题

使用-H选项,打印出列标题。

[root@openEuler-test ~]# who -H
NAME     LINE         TIME             COMMENT
root     pts/0        2024-10-06 13:21 (192.168.3.241)
root     pts/1        2024-10-06 13:47 (192.168.3.241)
admin    pts/2        2024-10-06 13:48 (192.168.3.89)

3.8 显示当前的运行级别

  • 显示当前的运行级别
[root@openEuler-test ~]# who -r
         run-level 3  2024-10-06 13:10

0:关机(halt)
1:单用户模式(维护模式),仅 root 用户可以登录,通常用于系统维护。
2:多用户模式,但没有网络文件系统(NFS)。
3:多用户文本模式,完整的多用户环境,但没有图形界面。
4:用户自定义,通常未使用。
5:多用户图形模式,启动图形用户界面(GUI)。
6:重启(reboot

四、注意事项

  1. 确保你有足够的权限:某些系统可能需要 root 权限才能查看所有用户的登录信息。
  2. 理解输出格式:默认输出包含用户名、终端、登录时间和主机名,使用选项可以更改输出格式。
  3. 使用 -H 选项添加列标题:这有助于更好地理解输出的每一列代表什么。
  4. 注意死掉的进程:使用 -d 选项可以显示已经退出但未从 utmp 文件中删除的条目。
  5. 检查系统启动时间:使用 -b 选项可以查看系统最近一次启动的时间。
  6. 了解当前运行级别:使用 -r 选项可以显示当前系统的运行级别。
  7. 查看用户消息状态:使用 -T-w 选项可以查看用户的终端消息状态(+ 表示允许写入,- 表示禁止写入)。
  8. 统计登录用户数量:使用 -q 选项可以快速查看当前登录的用户数量。
  9. 指定文件路径:如果需要读取特定的 utmp 或 wtmp 文件,可以在命令末尾指定文件路径。
  10. 结合其他命令使用:可以将 who 的输出通过管道传递给其他命令(如 grep)进行进一步处理。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。