在 Ubuntu 里,deluser 本身不支持一次性批量删除用户,但可以通过 Shell 循环 来实现批量删除。下面给你几种常见、实用的方法。
for user in user1 user2 user3; do
sudo deluser --remove-home "$user"
done
--remove-home:同时删除用户主目录假设有一个文件 users.txt,每行一个用户名:
while read user; do
sudo deluser --remove-home "$user"
done < users.txt
for user in $(awk -F: '$3>=1000 && $3<2000 {print $1}' /etc/passwd); 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
for user in user1 user2; do
echo "即将删除: $user"
done
确认没问题后再执行删除命令。
sudo tar czf /backup/home.tar.gz /home
sudo pkill -u username
deluser 用户名 # 删除用户
deluser --remove-home 用户名 # 删除用户及家目录
deluser --remove-all-files 用户名 # 删除用户所有文件
如果你愿意,可以告诉我:
我可以帮你写一条完全适合你场景的批量删除命令。