温馨提示×

ubuntu deluser怎么批量删

小樊
44
2026-10-25 23:18:44
栏目: 智能运维

在 Ubuntu 里,deluser 本身不支持一次性批量删除用户,但你可以结合 shell 循环来批量删。下面给你几种常见、实用的做法。


一、用 for 循环批量删除(最常用)

for u in user1 user2 user3; do
    sudo deluser --remove-home $u
done

说明:

  • --remove-home:同时删除用户家目录
  • 如果不想删家目录,去掉该参数

二、从文件读取用户名批量删

比如用户列表在 users.txt:

user1
user2
user3

执行:

while read u; do
    sudo deluser --remove-home "$u"
done < users.txt

三、删除符合规则的用户(如 test 开头)

for u in $(getent passwd | awk -F: '$1 ~ /^test/ {print $1}'); do
    sudo deluser --remove-home "$u"
done

只删普通用户(UID ≥ 1000):

for u in $(getent passwd | awk -F: '$3 >= 1000 {print $1}'); do
    sudo deluser --remove-home "$u"
done

四、删除用户并移除相关组

sudo deluser --remove-home --remove-all-files user1
  • --remove-all-files:删除该用户所有文件(更彻底)

⚠️ 注意事项

  1. 不能删除当前登录用户
  2. 删除前确认:
    who
    
  3. 系统用户(UID < 1000)不要乱删
  4. 建议先预览再执行:
    getent passwd | awk -F: '$3 >= 1000 {print $1}'
    

如果你愿意,可以告诉我:

  • 用户数量
  • 是否要删家目录
  • 是否按规则(前缀 / UID)删

我可以帮你写一条安全可预览的命令。

0 踩