今天要说的不是成龙的电影“我是谁”,而是Linux里的who系列命令,包括who、whoami和who am i。
先看看这三个命令的输出信息:
[rocrocket@rocrocket ~]$ whoami
rocrocket
[rocrocket@rocrocket ~]$ who am i
rocrocket pts/3 2008-12-30 13:17 (:0.0)
[rocrocket@rocrocket ~]$ who
rocrocket :0 2008-12-30 09:54
rocrocket pts/0 2008-12-30 09:55 (:0.0)
rocrocket pts/1 2008-12-30 09:57 (:0.0)
rocrocket pts/3 2008-12-30 13:17 (:0.0)
当我用sudo su(或者sudo su -)更换到root用户之后,你再看看:
[rocrocket@rocrocket ~]$ sudo su
[root@rocrocket rocrocket]# whoami
root
[root@rocrocket rocrocket]# who am i
rocrocket pts/3 2008-12-30 13:17 (:0.0)
[root@rocrocket rocrocket]# who
rocrocket :0 2008-12-30 09:54
rocrocket pts/0 2008-12-30 09:55 (:0.0)
rocrocket pts/1 2008-12-30 09:57 (:0.0)
rocrocket pts/3 2008-12-30 13:17 (:0.0)
看出区别来了吧,whoami显示的是当前“操作用户”的用户名,而who am i显示的是“登录用户”的用户名。
用Linux的术语来解释就是:(实际用户=uid,即user id。有效用户=euid,即effective user id)
who am i 显示的是实际用户的用户名,即用户登陆的时候的用户ID。此命令相当于who -m。
whoami 显示的是有效用户ID.
好了,明白了两者区别之后,我们来说说who这个命令。
有人会问,为什么我sudo su到root之后,who里面却没有显示呢?
这是因为su过去的用户进程空间是作为一个子空间存在,他并没有得到一个登录的tty。
who这个命令重点是用来查看当前有哪些用户登录到了本台机器上。
who -m的作用和who am i的作用是一样的。
who -q用来显示当前登录用户的个数。
当你觉得who的输出信息晦涩难懂时,可以使用who -H来输出,这样可以在每列加上列名称,有助于阅读。
分享到:
相关推荐
`whoami`命令与`who am i`命令虽然看起来相似,但在某些方面有所不同。`who am i`命令会查询`/etc/utmp`文件来获取当前登录的用户信息,这个文件记录了系统中所有活跃用户的登录信息。而`whoami`则不依赖`/etc/utmp`...
`who am i`用于显示当前登录用户的信息,这与`whoami`相似,但`who am i`还会包含登录终端和时间等附加信息。同样,`who -m`也是查看当前用户登录信息的快捷方式,其效果与`who am i`完全相同。在上面的例子中,两者...
- `who am i` 或 `whoami`:显示当前用户名。 - `cat /proc/version`:查看Linux版本信息。 - `cat /proc/cpuinfo`:查看CPU信息。 - `cat /proc/interrupts`:查看中断。 - `cat /proc/loadavg`:查看系统负载...
Linux 系统中有多种方式来查看当前用户的信息,常用的命令包括 whoami、who am i、who mom likes 等。 * whoami 命令:用于查看当前用户的用户名。 * who am i 命令:用于查看当前伪终端用户的用户名。 * who mom ...
- `who`, `who am i`, `whoami`:显示当前登录用户信息。 - `cat /proc/version`:查看Linux版本。 - `cat /proc/cpuinfo`:查看CPU信息。 - `cat /proc/interrupts`:查看中断信息。 - `cat /proc/loadavg`:...
- `who am i`: 输出当前用户的详细登录信息 - `uname -a`: 显示系统全部信息 - `uname -s`: 显示内核名称 - `uname -n`: 显示主机名 - `uname -r`: 显示内核版本 - `uname -v`: 显示内核发布日期 - `uname -m...
- `who am i`: 显示实际用户ID。 这些只是Linux系统中众多命令和概念的一小部分,实际上Linux提供了丰富的命令行工具,如文件管理(`ls`, `cp`, `mv`, `rm`)、文本处理(`grep`, `sed`, `awk`)、进程管理(`ps`,...
whoami (Who Am I)** - **功能**:显示当前登录用户的用户名。 - **使用方法**: - `whoami`:显示当前用户名称。 **6. grep** - **功能**:在文件或目录中搜索特定字符串。 - **使用方法**: - `grep "字符串...
本文将详细介绍几个常用的Linux命令及其参数,包括`whois`、`whoami`、`who`、`w`、`vlock`和`usermod`。 1. `whois` 命令:此命令用于查询指定用户账号在网络上的相关信息。通过连接到Network Solutions的WHOIS...
- **`whoami`或`who am i`**: 显示当前登录的用户名。 - **`id`**: 显示用户的ID以及所属组的信息。 ##### 2. 文件与目录操作 - **`ls`**: 列出当前目录下的文件和子目录。可以使用不同的选项来定制显示结果: -...
- **`who am i`**: 显示当前用户的登录信息。 - **`whoami`**: 显示当前用户名。 - **`cat /proc/version`**: 查看内核版本信息。 - **`cat /proc/cpuinfo`**: 显示CPU信息。 - **`cat /proc/interrupts`**: 显示...
- **命令**: `whoami` 或 `who am i` - **功能**: 显示当前登录的用户名。 - **示例**: `whoami` 显示当前登录的用户名。 9. **显示用户信息** - **命令**: `finger` - **功能**: 显示用户的详细信息,如家...
Linux 入门教学 本资源摘要信息涵盖了 Linux 入门教学的主要知识点,涵盖用户登录、终端、Shell 介绍、执行命令、简单命令、快捷键等内容。...* 显示使用者的用户名及终端:who am I (who xx xx)。
### Linux系统常用命令手册 #### 一、关机/重启/注销命令 在Linux系统中,用户可以通过多种命令实现对系统的关机、重启或注销操作。以下是一些常用的命令及其功能: - `shutdown -h now`:立即关机。 - `shutdown...
`chmod`、`chown`、`chgrp`管理文件权限和所有者,`alias`定义别名,`cal`显示日历,`ps`查看进程状态,`top`实时监控系统资源,`kill`发送信号结束进程,`who`、`who am i`、`whoami`查看当前登录用户,`last`查看...
- **用户基本信息**:`who`, `whoami`, 和 `who am i`命令可以显示当前登录的用户信息。`id`命令则提供更详细的用户身份信息,包括用户ID(uid)、组ID(gid)和所属的用户组。 - **操作系统信息**:`uname -a`...
- 查看登录用户:`who`, `who am i`, `whoami`, `logname`以及`w`和`finger`命令用于查看和通信。 - 通信:`write`命令允许用户间实时通信,`mesg`命令控制是否接受其他用户的写入消息。 2.1.3 命令行编辑: - 命令...
`whoami`显示当前正在使用的用户名,而`who am i`则会提供更详细的信息,包括用户登录的终端和时间。 最后,`userdel`命令用于删除用户。当你不再需要某个用户时,可以使用此命令。例如,`userdel zhangsan`会删除...
* 查看登录用户:who am i * 查看当前登录用户:whoami 五、 用户组 用户组是 Linux 中的一种逻辑概念,用于将多个用户分组管理。 * 添加用户组:groupadd 组名 * 自定义将一个用户创建在某一个组中(默认会创建...