在 Linux 里递归删除文件夹,最常用的命令是 rm。它的 -r 参数表示递归,也就是把目录本身以及目录里的所有文件和子目录一并删除;-f 表示强制,不提示确认,也不因为文件不存在或只读而中断。实际使用中,删除一个普通目录可以执行 rm -r /path/to/folder,系统会在删除过程中给出一些确认或权限提示;如果确定目录里的内容都不需要保留,直接执行 rm -rf /path/to/folder 更干脆。需要记住的是,-f 会跳过大部分提示,命令一旦回车就没有回收站可退,所以路径一定要写对。我自己的习惯是,只要用到 -rf,敲回车之前一定再扫一眼路径。

删除之前建议先确认目标路径。可以先用 pwd 看清当前所在目录,再用 ls -la /path/to/folder 看一眼里面是不是你要删的内容。如果目录名里带空格或者特殊字符,路径要用引号包起来,比如 rm -rf “/path/to/my folder”。使用相对路径时尤其要小心,不要在不确定当前目录的情况下写 rm -rf ./* 这类通配符命令,误删风险很高。更稳妥的做法是尽量写绝对路径,或者在目标目录的上一级执行删除,删除前再核对一遍目录名。我自己吃过一次亏,目录名少打了一个字符,差点删到旁边的数据目录,后来就养成了先 ls 再删的习惯。
如果不想让命令直接静默删除,可以用交互式参数 rm -ri /path/to/folder,这样每删除一项都会询问确认,适合不确定目录内容或者第一次操作时使用。只想删除空目录时可以用 rmdir,但它要求目录必须为空,非空目录会报错,所以递归删除还是以 rm -r 为主。遇到权限不足的目录,系统会提示 Permission denied,这时可以用 sudo 提升权限,但 sudo rm -rf 的风险更高,执行前必须反复确认路径,避免把系统目录或者挂载点误删。sudo 和 rm -rf 放在一起的时候,我会刻意把命令拆开确认,不会在一条命令里顺手带上去。
还有一些替代思路。可以用 find /path/to/folder -delete 来删除目录内容,但目录本身仍需单独处理,操作起来不如 rm -r 直接。图形界面文件管理器里删除目录通常也会询问是否递归删除,适合不熟悉命令行的用户。无论用哪种方式,删除前把重要数据备份到其他位置,或者先 mv 到临时目录确认无误后再删,都是比较稳妥的习惯。整体来说,Linux 递归删除文件夹的核心就是 rm -r 和 rm -rf,区别在于是否强制静默,真正需要花心思的是删除前的路径确认和误删防范。

评论列表 (0条):
加载更多评论 Loading...