**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

```