rm命令递归删除需用-r参数,-i可交互确认,-f强制静默;最危险组合为rm -rf,慎用且须先确认路径、预览结构或重命名验证。

在 Linux 中,rm 命令默认不删除目录,要递归删除目录及其所有内容(包括子目录和文件),必须使用 -r(或 --recursive)参数。
基础递归删除:-r 参数
rm -r 是实现递归删除的核心选项。它会遍历指定目录下的所有层级,逐一删除其中的文件和子目录。
- 例如:
rm -r myfolder会删除当前目录下的myfolder及其内部全部内容 - 注意:
rm -r不会提示确认,直接执行删除操作,误用可能导致数据丢失
安全删除:加上 -i 参数交互确认
为防止误删,可组合 -i(interactive)参数,在每次删除前要求用户确认:
-
rm -ri myfolder:进入交互模式,对每个文件/子目录都提示rm: remove regular file 'xxx'? - 输入
y(yes)确认,n(no)跳过,Ctrl+C中断整个操作
强制静默删除:-f 参数绕过提示与错误
-f(force)用于抑制提示、忽略不存在的文件或权限不足等错误:
-
rm -rf myfolder是最常见也最危险的组合——强制递归删除,无任何警告 - 慎用:
rm -rf /会尝试清空整个根文件系统(现代系统通常有保护机制,但仍极度危险) - 建议只在明确路径且已备份关键数据时使用
实用技巧与注意事项
递归删除前务必确认目标路径准确,推荐按顺序操作:
- 先用
ls -R myfolder或tree myfolder查看结构 - 用
rm -r --dry-run myfolder(部分 GNU 版本支持)预览(但非所有系统可用) - 更稳妥做法:先重命名目标目录(如
mv myfolder myfolder_to_delete),确认无误后再删 - 避免在路径中使用通配符(如
rm -rf *)或未加引号的变量(如rm -rf $DIR),以防空格或特殊字符引发意外


















