在 Ubuntu 中,deluser 命令本身不支持直接批量删除用户(没有类似 deluser user1 user2 user3 的语法)。但可以通过 Shell 循环 来实现“批量操作”。
deluser 一次只能处理一个用户:
sudo deluser username
for 循环(最常用)for user in user1 user2 user3; do
sudo deluser $user
done
假设有 users.txt:
user1
user2
user3
执行:
while read user; do
sudo deluser "$user"
done < users.txt
for user in user1 user2 user3; do
sudo deluser --remove-home $user
done
for user in $(getent passwd | awk -F: '$1 ~ /^test/ {print $1}'); do
sudo deluser --remove-home "$user"
done
⚠️ 谨慎使用,避免误删系统用户。
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
id username
sudo pkill -u username
| 问题 | 答案 |
|---|---|
deluser 是否支持批量 |
❌ 不支持 |
| 能否实现批量 | ✅ 用 Shell 循环 |
| 是否危险 | ⚠️ 操作不当可能误删 |
如果你有 具体场景(如 LDAP、Docker、学生账号清理),我可以帮你写更安全的脚本。