w,who,whoami和id的不同输出


9

当我运行时,在在线命令行平台上,例如Codecademy上的平台

for cmd in w who whoami id
do
    echo $cmd
    $cmd
    echo =========================
    echo "             "
done

我懂了

w                              
00:52:54 up 8 days, 14:10,  0 users,  load average: 3.78, 2.98, 2.69      
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT       
=========================                            

who
=========================                                                 

whoami                          
ccuser                          
=========================                              
  
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)     
=========================                   

注意只有whoamiid输出的东西有关。当我在计算机上运行相同的程序时,所有命令的结果都相似。

为什么不Codecademy网站为用户显示wwho?这些命令有什么不同?

Answers:


13
  • id 报告
    • 其自身流程的当前凭证;要么
    • 系统帐户数据库中读出的命名用户的凭据。
  • whoami 报告其自身进程的当前凭据。
  • whow登录数据库报告活动的登录会话表。

BSD doco指出,whoami它完成的工作的一部分id,并且id使其过时。

系统不必具有活动的登录会话表。在Linux操作系统和BSD上,如果该表尚未在引导时创建,或自此以来已被删除,则系统将在没有该表的情况下运行。此外,登录和注销不会在Linux操作系统上隐式创建它。

此外,该表不必由非特权用户读取,并且whonor和w命令都不会将此报告为错误。

进一步阅读

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.