如何在Linux中列出所有用户?

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

如何在Linux中列出所有用户?

linux中查看系统上的所有用户,最直接的方法是读取 /etc/passwd 文件,这个文件存储了所有用户账户的基本信息。

通过 /etc/passwd 查看所有用户

/etc/passwd 是系统中每个用户账户的配置文件,每行代表一个用户,格式如下:

用户名:密码占位符:UID:GID:用户描述:家目录:登录Shell

要列出所有用户,可以使用以下命令:

如何在Linux中列出所有用户?

有道小P

有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。

如何在Linux中列出所有用户?64

查看详情 如何在Linux中列出所有用户?

  • 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

使用其他辅助命令

虽然不常用,但也可以结合其他工具确认当前存在的用户:

  • compgen -u —— 在 bash 中列出所有用户(依赖于shell补全功能)
  • dscl . list /Users —— 仅适用于 macOS,Linux 不支持

基本上就这些。最可靠且通用的方式是使用 cut -d: -f1 /etc/passwd 或结合 awk 过滤 UID。如果系统集成了外部目录服务,优先使用 getent passwd。方法简单,但注意区分系统账户和普通用户。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources