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

22次阅读

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

站长
版权声明:本站原创文章,由 站长 2025-10-27发表,共计793字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources