如何知道当前用户是否通过 Linux 机器上的本地控制台登录?

如何知道当前用户是否通过 Linux 机器上的本地控制台登录?

找出当前用户是否通过 Debian Linux 机器上的本地控制台(在我的情况下是 ttyS0)登录的最佳方法是什么?我有一个脚本,我想限制一些会中断网络连接的选项。who 命令列出了当前用户及其连接,但用户可能同时通过多个连接登录,而我不知道哪一个是我。

答案1

如果您想获取有关当前连接的信息,您可以使用who -m,它将限制who输出到当前shell。

或者您可以简单地输入who am ishell,它是 的别名who -m。;-)

答案2

那么你可以使用以下w命令:

w命令用于显示已登录的用户名及其正在执行的操作。信息将从/var/run/utmp文件中读取。该命令的输出w包含以下列:

用户姓名
用户的机器号或 tty 号
远程机器地址
用户登录时间
空闲时间(不可用时间)
连接到 tty 的所有进程所用的时间(JCPU 时间)
当前进程使用的时间(PCPU 时间)
用户当前正在执行的命令

或者如果你只是想看看谁登录了,使用who

有关命令的更多信息,请查看man page以下内容:

man wman who

相关内容