在 Debian / Ubuntu 中,deluser(其实是 userdel 的封装)本身不支持一次删除多个用户,也就是说:
deluser user1 user2 user3
❌ 这样是 不行的,会报错或只处理第一个参数。
for u in user1 user2 user3; do
deluser "$u"
done
或一行写法:
for u in user1 user2 user3; do deluser "$u"; done
如果用户列表在文件 users.txt 中(每行一个):
while read u; do
deluser "$u"
done < users.txt
userdel(更底层)for u in user1 user2 user3; do
userdel -r "$u"
done
-r表示同时删除用户家目录和邮件池
⚠️deluser默认 不删家目录,需加--remove-home
deluser --remove-home user1
ps -u username
| 问题 | 结论 |
|---|---|
| deluser 支持批量? | ❌ 不支持 |
| 能否循环实现? | ✅ 可以 |
| 推荐方式 | shell for / while 循环 |
如果你有 按 UID 范围删 / 按组删 / 自动确认 的需求,我也可以给你脚本。