欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 macOS 的 crontab 中,如果你想要获取当前登录的其他用户,可以使用以下命令:
使用 who 命令:这个命令可以列出当前登录的用户。 用 who 最准确
bash复制* * * * * who>> /path/to/logfile.log
我的做法是: # who | grep console | cut -d ' ' -f 1 #获取当前登录状态的用户
这条命令会每分钟将当前登录的用户信息追加到指定的日志文件中。
使用 users 命令:如果你只想要当前登录的用户列表,可以使用 users 命令。
bash复制* * * * * users >> /path/to/logfile.log
使用 last 命令:这个命令可以查看最近登录的用户。
bash复制* * * * * last >> /path/to/logfile.log
这些命令可以帮助你在 crontab 中获取其他登录用户的信息。如果你需要更详细的信息或有其他问题,请告诉我!
js-temp@localhost ~ % who js-temp console Aug 21 21:16 js-temp ttys000 Aug 21 21:32 详解
在 macOS 或类 Unix 系统中,who 命令用于显示当前登录到系统的用户信息。当你运行 who 命令时,它会列出所有当前登录的会话,包括每个会话的用户名、登录的终端类型、登录时间等信息。
对于你给出的输出:
复制代码 js-temp console Aug 21 21:16 js-temp ttys000 Aug 21 21:32
这里是对输出的详细解释:
用户名:js-temp
这表示用户 js-temp 正在系统上活动。两行都显示了这个用户名,意味着 js-temp 用户有两个会话同时开启。
登录终端:
第一行中的 console 通常指的是通过物理控制台(比如直接连接到计算机的显示器和键盘)登录的会话。在一些情况下,它也可能指的是通过图形界面的远程桌面会话(尽管在 macOS 上,这更可能通过 ttysXXX 或其他类似的终端类型表示)。
第二行中的 ttys000 是伪终端(pseudo-terminal)的缩写,它通常用于通过 SSH 或图形终端模拟器(如 iTerm2、Terminal.app 等)登录的会话。ttys 后面的数字(如 000)是分配给该会话的唯一标识符。
登录时间:
第一行显示 Aug 21 21:16,表示 js-temp 用户通过 console 登录的时间是 8 月 21 日晚上 21:16。
第二行显示 Aug 21 21:32,表示 js-temp 用户通过 ttys000 登录的时间是 8 月 21 日晚上 21:32。
这个输出表明 js-temp 用户有两个活动会话:一个是通过物理控制台或某种形式的直接登录界面登录的,另一个是通过 SSH 或图形终端模拟器登录的。
如果你想要更详细的信息,比如每个会话的当前工作目录、运行的命令等,你可能需要使用 w 命令或 whoami(尽管 whoami 只显示当前会话的用户名,而不是所有会话的列表)。w 命令会显示类似于 who 的信息,但通常还包括用户正在执行的命令和空闲时间等额外信息。