您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

who

概要

who [OPTION]... [file] [am i]

主要用途

  • 当没有给出非选项参数时,按以下字段顺序为每个当前用户打印信息:登录用户名称,终端信息,登录时间,远程主机或X display。

  • 当用户执行 who am i 时,只显示运行该命令的用户的信息。

    选项

    -a, --all                                等价于调用 '-b -d --login -p -r -t -T -u'。
    

    -b, --boot 上次系统启动的时间。

    -d, --dead 打印 dead 状态的进程。

    -H, --heading 打印列标题行。

    -l, --login 打印系统登录进程。

    --lookup 尝试通过 DNS 规范主机名。

    -m 仅显示和标准输入关联的主机名和用户。

    -p, --process 打印由 init 生成的活动进程。

    -q, --count 列出所有已登录的用户的名称和数量。

    -r, --runlevel 打印当前运行级别。

    -s, --short 仅打印名称、行和时间(默认)。

    -t, --time 打印上次系统时钟更改。

    -T, -w, --mesg, --message, --writable 将 '+、-、?' 中的一个作为用户的消息状态添加到用户名称后面。

    -u, --users 列出登录的用户。

    --help 显示帮助信息并退出。

    --version 显示版本信息并退出。

    关于 -T 选项的 '+、-、?':

    '+' 允许写入信息

    '-' 禁止写入信息

    '?' 不能查找到终端设备

    参数

    file(可选):指定 file 代替默认的 /var/run/utmp/etc/utmp ;通常使用 /var/log/wtmp 作为参数用于查看过去登陆系统的用户。

    返回值

    返回0表示成功,返回非0值表示失败。

    例子

    [root@localhost ~]# who
    

    root pts/0 2013-08-19 15:04 (192.168.0.134)

    root pts/1 2013-12-20 10:37 (180.111.155.40)

    [root@localhost ~]# who -q

    root root

    users=2

    [root@localhost ~]# who -H

    NAME LINE time COMMENT

    root pts/0 2013-08-19 15:04 (192.168.0.134)

    root pts/1 2013-12-20 10:37 (180.111.155.40)

    [root@localhost ~]# who -w

    root + pts/0 2013-08-19 15:04 (192.168.0.134)

    root + pts/1 2013-12-20 10:37 (180.111.155.40)

    注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 whoinfo coreutils 'who invocation'