首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux系统之who命令的基本使用

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

原创
作者头像
江湖有缘
发布于 2024-11-19 20:10:11
发布于 2024-11-19 20:10:11
7740
举报
文章被收录于专栏:Linux成长之路Linux成长之路

@TOC

“好事”文章分享

文章名《【愚公系列】《AIGC辅助软件开发》005-AI智能化编程助手:Bito》 作者:愚公搬代码

评价:

本文详细介绍了Bito这款AI编程助手的强大功能与应用实例,对于提升开发效率有着显著的帮助。无论是编程新手还是资深开发者,都能从中获得宝贵的知识和技巧,值得推荐给所有对编程感兴趣的朋友。

文章链接:https://cloud.tencent.com/developer/article/2466481

一、who命令介绍

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

二、who命令的使用帮助

2.1 who命令的help帮助信息

  • 查询help帮助信息
代码语言:bash
复制
[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 查看当前系统版本

  • 查看当前时间的系统版本
代码语言:bash
复制
[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命令,显示当前登录的用户。

代码语言:bash
复制
[root@openEuler-test ~]# who
root     pts/0        2024-10-06 13:21 (192.168.3.241)

3.3 显示所有信息

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

代码语言:bash
复制
[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选项,显示系统最近一次启动的时间。

代码语言:bash
复制
[root@openEuler-test ~]# who -b
         system boot  2024-10-06 13:09

3.5 只显示登录用户的数量

  • 只显示登录用户的数量
代码语言:bash
复制
[root@openEuler-test ~]# who -q
root root admin
# users=3

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

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

代码语言:bash
复制
[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选项,打印出列标题。

代码语言:bash
复制
[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 显示当前的运行级别

  • 显示当前的运行级别
代码语言:bash
复制
[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)进行进一步处理。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • “好事”文章分享
  • 一、who命令介绍
  • 二、who命令的使用帮助
    • 2.1 who命令的help帮助信息
    • 2.2用法解释
  • 三、who命令的基本使用
    • 3.1 查看当前系统版本
    • 3.2 直接使用who命令
    • 3.3 显示所有信息
    • 3.4 显示系统最近一次启动的时间
    • 3.5 只显示登录用户的数量
    • 3.6 显示当前登录的用户及其相关信息
    • 3.7 打印出列标题
    • 3.8 显示当前的运行级别
  • 四、注意事项
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档