如何通过OS X中的命令行获取活动用户的名称?

Law*_*ton 65 macos command-line

如何通过OS X中的命令行获取活动用户的名称?

ken*_*ent 144

由于'whoami'已经过时,它可能更适合使用:

id -un
Run Code Online (Sandbox Code Playgroud)

  • whoami说?<悬臂chacka> (18认同)
  • 12 年后,“whoami”和“id”仍然可以在我的 macOS Big Sur 11.3.1 系统上运行。我没有故意安装或配置任何可以将其添加回来的东西,所以也许它仍然存在? (6认同)
  • 在什么意义上'whoami'已经过时了?谁宣布它已经过时了? (2认同)
  • @Jonathan:Leopard 上 `whoami` 的手册页确认它已被 `id` 取代。 (2认同)
  • 啊啊!他们为什么要改变自古以来就存在的东西? (2认同)

And*_*rew 25

如果您想显示全名(而不是用户名),请添加-F标记:

$ id -F
Andrew Havens
Run Code Online (Sandbox Code Playgroud)

  • -F 在 Mavericks 中是非法选项 - 这是什么时候开始起作用的? (2认同)

Law*_*ton 8

通过这里

检查/ dev/console的所有者似乎运行良好.

stat -f "%Su" /dev/console

  • 如果您通过 ssh 连接到一台机器并想查看用户是否在本地登录,这将非常有用。如果不是,该命令将返回“root”。 (2认同)

dfa*_*dfa 8

我是谁

编辑

whoami实用程序已被id(1)实用程序废弃,相当于id -un.id -p建议该命令用于正常的交互式使用.


Eri*_*low 6

我很确定OS X中的终端就像unix一样,所以命令是:

whoami
Run Code Online (Sandbox Code Playgroud)

我此刻没有麦克风,所以如果我错了,有人会纠正我.


Ada*_*ink 5

您还可以logname在 Linux 或 MacOS 下使用 BSD 通用命令手册中的命令来查看当前登录用户的用户名,即使该用户正在执行操作sudo。例如,在使用 sudo 安装系统范围的软件包时修改用户的 crontab 时,这很有用:crontab -u $(logname)

man logname

LOGNAME(1)

NAME
    logname -- display user's login name
Run Code Online (Sandbox Code Playgroud)