linux下who命令的使用问题!

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:17:02
我用的是fedora 9。

当前用户是root,在bash下输入
sudo - test
将用户转换为test后,
输入
whoami,显示“test”;
但是输入
who am i的话,会显示
root pts/1 2008-11-17 09:18 (:0.0)

这是怎么回事啊?whoami和who am i有什么区别呢?

楼上的理解也错误

who am i 其实运行了 who命令 am 和 i 作为参数 并没有被接受

who指令显示了当前登录在该机器上的所有用户的列表
(但是不包括su的用户,因为su过去的用户进程空间是作为一个子空间存在,他并没有得到一个登录的tty)

只有 whoami 中间不加空格 才显示我是谁

而且
su - username 事实上是切换用户 并使用被切换用户的环境变量的意思
su uesrname 是切换用户 但是使用当前用户的环境变量

who am i说的是“我是谁”
它会显示你的名字、终端号、登录的日期和时间
按“w”会显示这个登录到服务器上的所有用户,比这个方便。

我用的是ubuntu,我试过了,确实如此。在用su转换为root之后,写whoami,会显示root,写who am i的时候,显示我原来的账户名。

我的理解是,su命令实际上是打开了一个有所要求账户的权限的bash进程,whoami是显示这个bash的所有者的用户名。who am i则是显示你登录进入时的真正用户名。