核心警告 ⚠️
在 Linux 中,删除操作通常是永久性的,并且没有“回收站”! 一旦用 rm 删除,文件很难恢复。在执行任何删除命令前,请务必再三确认你的操作对象。

rm (Remove) - 删除文件或目录
rm 是最常用、也最危险的删除命令,它用于删除一个或多个文件。
基本用法
# 删除一个文件 rm filename.txt # 删除多个文件 rm file1.txt file2.txt file3.log
删除目录(需要配合选项)
rm 默认不能删除非空目录,需要加上 -r 或 -R 选项(递归删除)。
# 递归删除一个目录及其所有内容(文件和子目录) rm -r my_directory
常用选项组合
为了安全起见,通常会使用 rm 的其他选项。
| 选项 | 全称 | 作用 | 示例 |
|---|---|---|---|
-i |
--interactive=once |
交互式删除,在删除每个文件前都会询问用户,输入 y 确认,n 取消。 |
rm -i file.txt (删除前会问:rm: remove regular empty file 'file.txt'? y/n) |
-f |
--force |
强制删除,忽略不存在的文件,从不提示,当与 -i 一起使用时,-f 的优先级更高。 |
rm -f file.txt (如果文件不存在,也不会报错) |
-r / -R |
--recursive |
递归删除,删除目录及其下的所有内容。 | rm -r my_folder |
-v |
--verbose |
详细模式,显示正在删除的文件。 | rm -v file.txt (会显示:removed 'file.txt') |
最常用、最安全的组合
rm -rf 是一个非常强大的组合,但也极其危险。

rm -r:递归删除目录。rm -f:强制删除,不提示。
# 强制递归删除一个目录,且不进行任何提示 # 使用前请 100% 确认目录名正确! rm -rf my_important_directory
安全建议:
- 新手强烈建议使用
rm -ri,这样即使要删除目录,每个文件都会提示你,避免误删。 - 在执行
rm -rf之前,可以先用ls -d或tree命令确认一下目录内容,确保无误。# 先看看要删的目录里有什么 ls -d my_important_directory/* # 或者 tree my_important_directory
rmdir (Remove Directory) - 删除空目录
rmdir 是一个更安全的命令,但它只能删除空目录。
基本用法
# 删除一个空目录 rmdir empty_folder
特点
- 如果目录不为空(里面有文件或子目录),
rmdir会报错并拒绝执行。 - 优点:因为它不能删除非空目录,所以非常安全,不会误删重要数据。
- 缺点:功能有限,如果目录非空,就无法使用。
删除多级空目录
rmdir 有一个 -p 选项,可以一次性删除多级空目录。
# 假设目录结构为 a/b/c,且 a, b, c 都是空的 rmdir -p a/b/c # 这条命令会同时删除 c, b, a 目录
trash-cli - 回收站方案
如前所述,Linux 默认没有回收站。trash-cli 是一个流行的工具,它为命令行提供了一个类似回收站的功能,删除的文件会先被移动到 ~/.local/share/Trash 目录下,而不是直接从硬盘抹除。

安装
在基于 Debian/Ubuntu 的系统上:
sudo apt update sudo apt install trash-cli
在基于 RedHat/CentOS 的系统上:
sudo yum install trash-cli
基本用法
安装后,你不再直接使用 rm,而是使用 trash 命令。
# 将文件或目录“删除”(移动到回收站) trash filename.txt trash my_folder/ # 查看回收站里的文件 trash-list # 恢复回收站里的文件 trash-restore # 会进入一个交互式界面,选择要恢复的文件 # 清空回收站(永久删除回收站里的所有文件) trash-empty
别名设置(强烈推荐)
为了方便使用,你可以为 rm 创建一个别名,让它自动调用 trash 命令。
- 打开你的 shell 配置文件(
~/.bashrc,~/.zshrc)。 - 在文件末尾添加以下行:
alias rm='trash'
- 保存文件后,让配置生效:
source ~/.bashrc # 或者 # source ~/.zshrc
设置后,你以后输入的 rm 命令实际上都会变成 trash 命令,大大提高了安全性,如果你确实需要永久删除,可以使用 \rm 命令来调用原始的 rm。
总结与对比
| 命令 | 全称 | 主要用途 | 危险性 | 备注 |
|---|---|---|---|---|
rm |
Remove | 删除文件或目录 | 极高 | 最常用,但默认无回收站,务必小心使用 -rf 选项。 |
rmdir |
Remove Directory | 仅删除空目录 | 低 | 安全,但功能有限,无法处理非空目录。 |
trash-cli |
- | 模拟回收站功能 | 低 | 推荐新手和注重数据安全的用户安装使用。 |
最佳实践
- 对于新手:安装并配置
trash-cli,并设置rm的别名为trash,这是最安全的学习方式。 - 对于日常使用:养成使用
rm -i的习惯,删除前多一步确认。 - 对于系统管理或脚本:在脚本中谨慎使用
rm -rf,并确保路径变量经过严格校验,避免因变量错误导致灾难性后果(rm -rf /是最危险的命令之一)。 - 养成备份习惯:对于任何重要的数据,定期的备份是防止数据丢失的最终保障。
