在 Debian(以及大多数 Linux 发行版)中,用户列表主要来自 /etc/passwd 文件。下面给你几种常见、实用的导出方式,从简单到更规范。
/etc/passwd 导出所有用户cat /etc/passwd
每一行格式:
用户名:密码占位符:UID:GID:描述:家目录:Shell
cut -d: -f1 /etc/passwd
✅ 输出示例:
root
daemon
bin
user1
user2
cut -d: -f1 /etc/passwd > user_list.txt
通常 UID ≥ 1000 的是普通用户(Debian 默认)
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
导出:
awk -F: '$3 >= 1000 {print $1}' /etc/passwd > real_users.txt
awk -F: '{print "用户名:",$1,"UID:",$3,"Home:",$6}' /etc/passwd
grep -E '/bin/(bash|sh|zsh)$' /etc/passwd | cut -d: -f1
awk -F: '$3 < 1000 {print $1}' /etc/passwd
getent(更标准,推荐)getent passwd
只导出用户名:
getent passwd | cut -d: -f1
awk -F: 'BEGIN{print "用户名,UID,GID,Home,Shell"}{print $1","$3","$4","$6","$7}' /etc/passwd > users.csv
| 需求 | 命令 |
|---|---|
| 所有用户 | cut -d: -f1 /etc/passwd |
| 普通用户 | awk -F: '$3>=1000{print $1}' /etc/passwd |
| 可登录用户 | grep /bin/bash /etc/passwd |
| 导出文件 | > user_list.txt |
如果你需要的是:
可以告诉我具体场景,我可以给你更精确的命令。