
显示当前所有登陆用户的信息。
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)注意
该命令是GNU coreutils包中的命令,相关的帮助信息请查看 man -s 1 who ,info coreutils 'who invocation'。
打印当前有效的用户ID对应的名称。
whoami [OPTION]...
打印当前有效的用户ID对应的名称。
--help: 显示帮助信息并退出。--version: 显示版本信息并退出。返回0表示成功,返回非0值表示失败。
[root@localhost ~]# whoami
root注意
该命令等价于 id -un 。
注意区分 whoami 和 logname 这两个命令;比如我们以用户 root 打开的终端,然后切换到了用户 user2。此时, whoami 返回的是当前用户 user2, logname 返回的是 root,大家可以自行实践验证一下。
该命令是GNU coreutils包中的命令,相关的帮助信息请查看 man -s 1 whoami ,info coreutils 'whoami invocation'。