**Linux删除用户的命令是`userdel`,可根据是否保留家目录选择不同参数。**
___
### 1. 基本删除命令(保留家目录)
```bash
sudo userdel 用户名
```
- **作用**:仅删除用户账户,保留其家目录(`/home/用户名`)和邮件池(`/var/mail/用户名`)。[@1@]
- **示例**:删除用户`testuser`但保留其家目录:
```bash
sudo userdel testuser
```
### 2. 完全删除命令(删除家目录)
```bash
sudo userdel -r 用户名
```
- **作用**:删除用户账户及其家目录、邮件池等所有关联文件。[@1@]
- **示例**:彻底删除用户`testuser`及其所有数据:
```bash
sudo userdel -r testuser
```
### 3. 注意事项
- **权限要求**:需`root`权限或通过`sudo`执行。[@2@]
- **用户状态**:若用户已登录,需先退出或强制终止会话(如`pkill -KILL -u 用户名`)。[@2@]
- **依赖文件**:若用户拥有运行中的进程,需先终止进程再删除。[@2@]
- **数据备份**:使用`-r`参数前建议备份重要数据。[@1@]
### 4. 验证删除结果
- **检查用户是否存在**:
```bash
id 用户名 # 若提示"no such user"则表示删除成功
```
- **检查家目录是否残留**:
```bash
ls /home | grep 用户名
```
### 5. 扩展知识:删除用户组
若需删除用户组(如空组),可使用:
```bash
sudo groupdel 组名
```
- **前提**:组内无其他成员。[@3@]
### 示例工程(删除用户并验证)
```bash filename="delete_user.sh" runnable="true"
#!/bin/bash
# 删除用户并验证
USERNAME="testuser"
# 删除用户(保留家目录)
sudo userdel $USERNAME
# 验证用户是否删除
if ! id $USERNAME &>/dev/null; then
echo "用户 $USERNAME 已删除(家目录可能保留)。"
else
echo "用户 $USERNAME 删除失败!"
fi
# 彻底删除用户(含家目录)
# sudo userdel -r $USERNAME
```


