在 Ubuntu(及一般 Debian 系 Linux)里,deluser 本身不支持“一次批量删除多个用户”的命令行参数,但可以通过脚本/命令组合实现批量删除。下面给你几种常见、可用的做法。
for u in user1 user2 user3; do
sudo deluser --remove-home "$u"
done
说明:
--remove-home:同时删除用户家目录--remove-home 只删用户,不删目录假设有一个用户列表文件 users.txt:
user1
user2
user3
执行:
while read u; do
sudo deluser --remove-home "$u"
done < users.txt
awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' /etc/passwd | \
while read u; do
sudo deluser --remove-home "$u"
done
⚠️ 生产环境一定要先预览,再执行
先只打印不删除:
awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' /etc/passwd
sudo pkill -u username
sudo deluser --remove-all-files username
如果你愿意用 userdel:
sudo userdel -r user1
批量:
for u in user1 user2; do sudo userdel -r "$u"; done
✅ deluser 不支持直接批量参数
✅ 但 shell 循环 + deluser 是标准做法
✅ 删除前务必确认用户列表
如果你愿意,可以告诉我:
我可以帮你写一条更安全的命令。