linux如何查询有哪些用户
Q在 Linux 里,我怎样快速查看系统上有哪些用户账号?我想先了解当前这台 Linux 机器上都有哪些用户,应该用什么命令查看最方便?
A查看系统用户的常用方式
可以查看 /etc/passwd 文件来获取系统中的用户信息,常用命令是 cat /etc/passwd。如果只想看用户名,可以配合 cut 提取第一列,例如 cut -d: -f1 /etc/passwd。如果你想区分普通用户和系统账户,可以结合 UID 进行筛选,通常 UID 大于等于 1000 的账户更可能是普通登录用户。
Q我只想知道当前正在登录的用户,Linux 能直接查到吗?系统里用户很多,我更关心现在有哪些人在登录使用这台机器,有没有简单的方法查看?
A查看当前登录用户
可以使用 who 命令查看当前登录的用户信息,也可以用 w 命令看到登录用户以及他们正在执行的操作。若只想看用户名列表,可以使用 users 命令。whoami 适合查看当前终端下的自身账号,不适合查看所有在线用户。
Q如果我只想筛选出普通可登录用户,而不是系统账户,该怎么做?有些账号只是系统服务用的,我想把它们排除掉,只看常见的人类用户,应该怎么过滤?
A按 UID 过滤普通用户
可以通过查看 /etc/passwd 中的 UID 来筛选普通用户。常见做法是用 awk -F: '$3 >= 1000 {print $1}' /etc/passwd,这样能列出 UID 大于等于 1000 的用户名。不同发行版的 UID 起始规则可能略有差异,建议结合本机的账号管理策略一起判断。