deluser 是 Debian / Ubuntu 系列发行版 里的工具(属于 adduser 包),不是 POSIX 标准命令,所以“能不能跨版本用”要分几种情况来说:
在 Debian 和 Ubuntu 的各个版本之间,deluser 通常是可以跨版本使用的,因为:
/etc/passwd、/etc/group、/etc/shadow✅ 例如:
结论:在 Debian 系内部,基本不用担心版本差异。
deluser 不是所有 Linux 都自带:
| 发行版 | 是否有 deluser |
|---|---|
| Debian / Ubuntu | ✅ 有 |
| RHEL / CentOS / Rocky / Alma | ❌ 没有 |
| Arch Linux | ❌ 没有 |
| openSUSE | ❌ 没有 |
在 非 Debian 系 上:
deluseruserdel(这是标准命令)| 命令 | 来源 | 是否跨发行版 |
|---|---|---|
deluser |
Debian 专用 | ❌ |
userdel |
POSIX / shadow-utils | ✅ |
# Debian / Ubuntu
deluser username
deluser --remove-home username
# RHEL / CentOS
userdel username
userdel -r username
如果你写的是 通用脚本,建议:
✅ 判断系统再决定用哪个
if command -v deluser &>/dev/null; then
deluser --remove-home "$user"
elif command -v userdel &>/dev/null; then
userdel -r "$user"
else
echo "No user delete tool found"
fi
userdel 或做兼容判断如果你能说下具体场景(比如:脚本、Docker、跨系统迁移),我可以给你更精确的建议。