最直接的方法是读取 /etc/passwd 文件,使用 cat /etc/passwd 查看所有用户信息,cut -d: -f1 /etc/passwd 提取用户名,getent passwd 推荐用于 LDAP/NIS 环境,awk -F: ‘$3 >= 1000 && $3 < 65534’ /etc/passwd 可筛选普通用户。

在 linux 中查看系统上的所有用户,最直接的方法是读取 /etc/passwd 文件,这个文件存储了所有用户账户的基本信息。
通过 /etc/passwd 查看所有用户
/etc/passwd 是系统中每个用户账户的 配置文件,每行代表一个用户,格式如下:
用户名: 密码占位符:UID:GID: 用户描述: 家目录: 登录 Shell
要列出所有用户,可以使用以下命令:
- cat /etc/passwd —— 显示全部内容
- cut -d: -f1 /etc/passwd —— 只提取用户名
- getent passwd —— 使用系统 数据库 接口 获取用户(推荐,尤其在使用 LDAP/NIS 时)
筛选普通用户
系统用户(如 daemon、nobody)通常 UID 较低,普通用户的 UID 一般从 1000 开始(具体取决于发行版)。可以通过以下方式过滤出普通用户:
- awk -F: ‘$3 >= 1000 && $3
- getent passwd | awk -F: ‘$3 >= 1000 && $3
使用其他辅助命令
虽然不常用,但也可以结合其他 工具 确认当前存在的用户:
基本上就这些。最可靠且通用的方式是使用 cut -d: -f1 /etc/passwd 或结合 awk 过滤 UID。如果系统集成了外部目录服务,优先使用 getent passwd。方法简单,但注意区分系统账户和普通用户。


