最直接的方法是读取/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。方法简单,但注意区分系统账户和普通用户。


