五折优惠 所有套餐限时优惠,起价 $2.48/mo
还剩12分钟
服务器和操作系统

如何安全删除 Linux 中的目录:rmdir、rm -r、find

尼克·西尔弗 By 尼克·西尔弗 12 分钟阅读 已于2025年9月22日更新
一台孤独的超逼真笔记本电脑,以3/4角度放在湿润表面上;屏幕显示两行清晰的终端命令:ls -ld -- '$DIR' rm -I -r -- '$DIR' 从笔记本右侧端口,一条青色/品红色全息丝带弧形延伸出去,连接到笔记本右侧漂浮的牛皮纸文件夹;文件夹右半部分在空中散裂成细纸粉。采用BR2049光影风格,紫外线轮廓光,细雨飞溅,钠灯琥珀色雾霭加单一低矮天际线。

选对工具,在 Linux 中删除文件夹就像轻而易举一样简单。使用 rmdir 用于空路径, rm -r 用于包含内容的目录,以及 查找 当你只想清空内部内容时。这就是 如何在 Linux 中删除目录的全部内容,配有安全的默认设置、快速检查和错误修复。如果你追求速度,可以先看快速参考表,然后继续阅读完整的安全说明。

 

 

命令概览:复制、粘贴、继续

在深入讲解之前,这里汇总了高频操作。从中间列复制,然后按照说明应用。

任务 最安全的快速命令 额外选项或说明
删除空目录 删除目录 DIR or rm -d DIR 添加 -p 删除父目录(如果它们变成空的)。
删除非空目录,首次提示确认 rm -I -r DIR 兼顾速度和安全。
强制删除非空目录 rm -rf — DIR 验证方式 ls -ld — DIR 运行前请确认。
保留父目录,清空内容 find DIR -mindepth 1 -delete 处理隐藏文件和文件夹。
仅删除空目录 查找 DIR -type d -empty -delete 部署后的清理工作。
按名称模式删除 find DIR -type d -name 'cache*' -prune -exec rm -rf {} + 在大型目录树上运行速度很快。

在处理如何删除 Linux 中的目录时,把这个快照放在手边。 

删除空目录用 rmdir or rm -d

超逼真的钢制文件柜抽屉完全拉开,导轨和毛毡垫清晰可见,绝对空空如也。前面有微小的压纹标签:RMDIR 和 EMPTY。柔和的钠灯琥珀色雾霭飘过模糊的天际线轮廓;青色标识沿着拉丝金属边缘闪烁;微小颗粒和细微划痕真实可见。

空目录 风险最低。如果只需要删除一个叶节点, rmdir 正好能做到;如果你倾向于保持在 rm,使用 rm -d 会得到相同的结果。两个命令都会在 非空路径处停止,这给初学者在学习如何在终端中删除目录时提供了一个有用的保障。

  • rmdir PROJECT/tmp 删除空文件夹,如果文件夹不存在则无提示返回。
  • rmdir -p foo/bar/baz 删除路径及其所有空的父目录,一次性清理搭建过程中的临时文件。
  • rm -d empty_folder 仅在目录为空时删除,对应的命令是 rmdir 为那些长期依赖 rm.
  • rmdir --ignore-fail-on-non-empty DIR 在脚本中隐藏"非空"错误提示,避免无关信息的干扰。
  • 添加 -v 例如,获取反馈 rmdir -pv foo/bar/baz.

在 Linux 中删除目录时的常见问题是,如果文件夹中仍有文件, rmdir 拒绝运行。这时候你就该用递归了。 

另请阅读: 使用 XRDP 连接到 Linux 服务器

用以下命令删除非空目录 rm

一台超写实的工业碎纸机是画面的绝对主角,进纸口里塞满了多个牛皮纸文件夹和分隔页。文件夹鼓鼓囊囊地装着纸张。机器前面有个小金属铭牌写着 RM -R;旁边一个小危险标志写着 FORCE。

递归删除正在进行 rm -r or rm -rf。基本上就是速度和提示词的取舍。学习如何在 Linux 中删除非空目录的开发者通常从 rm -r 然后添加提示词。使用自动化的团队可以 -f 在他们锁定路径检查后。

从让你安心的方案开始:

  • 一次性提示 rm -I -r DIR 在下降前询问一次,比起以下方案更合适 -i 在大树上。
  • 万能提示词: rm -ri DIR 速度较慢,但在处理小型数据树时很有用,能让你看清每一步。
  • 强制递归: rm -rf DIR 跳过提示和大部分错误;请通过以下方式验证 pwd, ls -ld — DIR,以及一个 echo "$DIR" 在你按下 Enter 之前。
  • 详细模式: -v 打印每个删除的路径,例如 rm -rfv build/.
  • Root 和挂载保护:现代系统会阻止 rm -rf / 通过 –preserve-root在脚本中添加 --one-file-system 这样你就不会跨越挂载点。

在繁忙的机器上强制删除前,花半分钟验证一下目标。用以下命令打印它 ls -ld — "$DIR",然后查看引用和通配符。在 Linux 中学习如何删除目录的最佳方式是亲自尝试 -I 先手动执行一次,然后以非交互方式重复。稳定的检查,可重复的工作流。

linux-vps Linux 主机服务简化版

想要更好的方式来托管网站和网络应用?正在开发新项目?或者只是不喜欢 Windows?这就是我们提供 Linux VPS 的原因。

获取你的 Linux VPS

奇怪的名称、开头的破折号和隐藏陷阱

拉紧的警示胶带横跨整个画面,超逼真的乙烯基纹理带有细微褶皱。黑色印刷在每个 CAUTION 后以间隔重复 -TMP。

某些路径以破折号开头或包含会干扰解析的字节。请传递 停止选项解析,或添加 ./ 在名称前面。

安全的方式来定向非主流名称:

rm -r -- --weird
rm -r ./-cache

这些小技巧让你在 Linux 上删除目录时,对共享服务器和远程会话的压力大大降低。如果你需要保留父目录但删除其中的内容,可以切换到深度感知命令。我们的《Linux 目录删除指南》接下来会讲到这个。

保留文件夹,清空其中的内容

超写实风格的马尼拉文件夹,在夹耳一侧的角落内置一个小暗门,暗门有铰链连接、微微开启,一缕细小的全息"文件碎片"从中飘落。夹耳上蚀刻着:FIND 和 MIND1(代表 -mindepth 1)

很多工作需要一个干净的目录,而不是缺失的目录。日志轮转、构建管道、VPS 维护工作。两种模式涵盖了如何在 Linux 中删除目录内的所有文件,同时保留父目录的方法。

  • 跳过父级 查找:
find /var/tmp/app -mindepth 1 -delete
  • 或执行 rm 按批次:
find ./cache -mindepth 1 -exec rm -rf {} +

两者都能处理隐藏条目(包括点文件),这正是简单的 rm * 漏掉了。如果你想知道怎样删除 Linux 中目录里的所有文件,这是靠谱的办法。

一行命令很方便,但很多团队需要按名称或深度筛选。这就是 查找 让你清楚知道自己能做什么,无需瞎猜。

另请阅读: 列出 Linux 上正在运行的服务

精准删除功能 查找:名称、深度、修剪

你可能只想清除缓存树、只想清除顶级构建文件夹,或只想清除归档日志。以下是一套精简的匹配模式 查找并删除目录 工作

任务 命令快照 笔记
仅删除 cache*/ 项目下的目录 find . -type d -name 'cache*' -prune -exec rm -rf {} + -prune 跳过匹配项,在大型目录树中更快。
按深度删除目录 find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + 仅针对下一级子目录 dist/.
仅删除空目录 查找 . -type d -empty -delete 部署后的清理工作。
删除匹配模式的文件 find logs -type f -name '*.gz' -delete 保留新的日志文件。
删除全部但保留父目录 find /data/tmp -mindepth 1 -delete 服务继续使用父目录。

使用 -print 先做一次演练,再正式执行。这是在 Linux 上删除目录的实际做法,范围可控、执行迅速。Gotcha,在某些最小化 BusyBox 构建上 -delete 操作缺失;使用 -exec rm -rf {} + 反而。

这些模式能覆盖大多数场景。加上几个保护措施,防止那些罕见但代价巨大的错误。

保护措施,防止误操作

一个超实用的机械锁定/标记装置加挂锁,拉丝钢和磨损的红色漆面,锁销上有水珠凝结;纤维安全标签挂在挂锁上,三行粗体刻字:RM -I、ONE FS、PRESERVE ROOT。

强大的命令需要谨慎的默认设置。培养这些习惯,这样在 Linux 上用命令删除目录就不会也删除你的理智。

  • 优选单条提示加 rm -I -r DIR 一边在屏幕上验证路径。
  • 每次都给路径加引号: rm -rf — "$DIR" 防止空格、通配符和以破折号开头的文件名出现问题。
  • 确认确切目标: ls -ld — "$DIR" 输出一行,显示权限、所有者和路径。
  • 保持在文件系统内 rm -rf –one-file-system "$DIR" 防止跨入挂载卷。
  • 根保护保持开启,继续 –preserve-root 在原地
  • 需要时清除不可变位: lsattr -d "$DIR" 检查, chattr -i "$DIR" 去除它。

如果删除仍然失败或卡住,逐一排查常见原因。

在 Cloudzy 的 Linux VPS 上运行清理测试,然后继续开发

一台超逼真的 1U 机架服务器稳稳地坐在云上(云 = VPS)。一条短 SFP+ 光纤跳线将服务器连接到一台以 3/4 角度放置的开放笔记本。笔记本的玻璃屏终端上,两行大型凸起雕刻文字:RM -I -R 和 ROLLBACK(切换指示灯亮起)。机架面板上,小徽章标识:NVME、10 GBPS、DDR5。

如果你需要一个稳定的远程服务器来尝试 rm, rmdir,和 查找 安全地、快速启动 Linux VPS 主机 并在干净的 shell 中工作。它价格实惠、速度快,可用于 12个全球位置11 个 Linux 发行版 开箱即用。你会获得 根目录访问权限, NVMe SSD 存储和 DDR5 RAM 在现代方案中,加上 DDoS 防护 和一个 99.95% 正常运行时间 承诺。高带宽和低延迟是标准配置,连接速度可达 10 Gbps 列于方案卡上。

  • 全球覆盖:在超过 12 个位置部署,包括纽约、洛杉矶、迈阿密、阿姆斯特丹、伦敦、德国、瑞士、犹他州、达拉斯、拉斯维加斯和新加坡,为你的用户提供更快的路由。
  • 根访问权限 + 11 个发行版:选择你想要的 Linux 并从第一天起保持完全控制。
  • 现代硬件:NVMe SSD 存储和 DDR5 RAM 为实例提供动力;在高负载 I/O 期间性能保持锐利。
  • 网络 + 正常运行时间:低延迟连接、高带宽和 99.95% 的正常运行时间目标帮助定时作业按时运行。
  • 安全:DDoS 保护跨所有服务器包含,因此日常维护中断的可能性较小。
  • 便利:预装操作系统选项、免费 IPv6 和多种支付方式让设置简单直接。

偏好完整桌面?结账时选择 Linux RDP 一键应用。它提供带有 Linux VPS 的 XRDP, GDM3I notice the text ", and the" is incomplete and appears to be a fragment. Could you provide the full sentence or phrase that needs translation? This will help me give you an accurate translation. GNOME GUI 预装在 Ubuntu,所以你可以一键远程连接。它在相同的 12 个位置运行,并保持 99.95% 正常运行时间 目标。有 无额外费用 用于预装的 RDP 配置。

简单来说,启动一个平价的 Linux VPS,选择你的发行版,保留 root 权限,购买时如果需要可以添加 Linux RDP 桌面环境。然后交互式地练习删除操作、创建快照,反复操作直到这些命令对你来说变得很自然。

故障排除:"权限被拒绝"、"目录非空"、繁忙路径

想象一个单独的文件夹悬在一条狭窄的通道上(这条通道代表故障排查,用故障排查图标刻在上面);文件夹内有一些较小的子文件夹和淡化的 .dotfiles 图标随着下落而逐渐消失。通道上从上到下的刻字是:症状、检查、修复;对面是:非空、查看、查找-删除。

大多数故障都归结为几种常见情况。使用「症状→检查→修复」这个流程,确保在 Linux 中删除目录不会导致部署停滞。

1)"权限被拒绝"错误,针对你拥有的目录
用以下命令检查属性 lsattr -d DIR。如果设置了不可变标志 i 用以下命令移除它 sudo chattr -i DIR,然后重试。这在加固系统和某些容器中很常见。

2)即使使用了也显示"操作不允许" sudo
确认挂载点不是只读的。 mount | grep DIR or findmnt DIR 会显示状态。为该操作重新挂载为读写,或选择另一个路径。

3)执行后仍然显示"目录非空" rmdir
还有文件存在。改用:

find DIR -mindepth 1 -delete

这个命令会包括隐藏文件和嵌套内容。

4)服务自动重建了这个文件夹
一个正在运行的服务正在写入这个路径。先停止或正常重启服务,然后删除。如果环境本身有问题,参考 systemctl 命令未找到 的指南先修复这个问题。例如,我们遇到过 Nginx 在测试环境中写入 /var/log/nginx/ ;停止 nginx.service 清空 lsof后,删除成功,日志也正常继续记录。

5)"设备或资源繁忙"
某个进程持有目录下的打开文件句柄。 lsof +D 目录 or fuser -vm 目录 显示活跃的连接;清理关闭后再删除。需要快速查看socket再清理日志时, Linux Netstat 命令 这一部分很有帮助。

6) 特殊名称:包含空格、换行或以破折号开头
使用 or ./ 在以破折号开头的名称前加引号,并为每个字符串加引号。要批量清理这些奇怪的名称,运行 find . -print0 | xargs -0 这样空格就不会破坏命令。

经过这些修复,大多数问题都解决了。如果不需要永久删除,可以改用回收站流程。

使用回收站而不是直接删除: trash-cli垃圾回收站

超逼真蓝色桌面回收站(哑光聚合物,有细小注射痕迹,开口槽),一个折叠纸文件夹的边角露出开口处。沿口边刻有:TRASH-CLI、TRASH。小侧徽章发出RESTORE的光,暗示可恢复。

不是所有东西都需要永久删除。支持 GLib 的桌面环境和服务器都有回收站流程,可以先检查再恢复。如果你在学习如何删除 Linux 中的目录并想要保险的做法,试试这些:

  • gio 垃圾箱 PATH 将文件和目录移到回收站; gio list trash:// 让你浏览内容。
  • trash-cli,使用 删除 PATH, trash-list, trash-restore,和 trash-empty 适合简单的命令行工作流。

比...慢 rm虽然需要额外检查,但如果你想多一道安全措施,这个折衷是值得的。所以,如果你需要学会在 Linux 中删除目录而不冒险损坏真实数据,先用回收站,再升级到 rm.

最后的想法

现在你有了完整的 Linux 目录删除工具集,包括 rmdir 用于空路径, rm -I -r 用于安全递归, rm -rf 仅在验证目标后使用,以及 find -mindepth 1 -delete 在需要清空内容但保留父目录时使用。记得给路径加引号,保持 –preserve-root,停留在同一文件系统,如果不可变属性阻挡你就移除它;故障排除检查会处理其他问题。

别忘了,如果你需要一台干净的远程机器来练习,可以启动一个 Cloudzy Linux VPS 服务器;价格实惠,性能稳定,很适合安全测试,而且我们提供 一键 Linux RDP 你还可以获得桌面会话,在完整的图形界面中逐步执行删除操作。

 

常见问题

rm 和 rmdir 有什么区别?

rmdir 仅删除空目录,使用 -p 选项可删除随之变空的父目录。rm 删除文件和目录,加上 -r 选项进行递归删除,加上 -I 或 -i 选项获得删除提示。

如何强制删除一个文件夹及其中的所有内容?

验证路径后运行 rm -rf — DIR。添加 -v 参数可以看到逐行日志。有些管理员会先用 rm -I -r 做一次演练,确认无误后再执行最终删除。

如何删除目录内的文件,而不删除目录本身?

运行 find DIR -mindepth 1 -delete。这条命令可以清空 Linux 目录中的所有文件,同时保留父目录供服务使用。

为什么 rmdir 说「目录不为空」,但我看不到任何文件?

隐藏文件仍然存在。使用 ls -A 可以看到它们,然后用 find -mindepth 1 -delete 模式删除。

如何修复"Operation not permitted"或"Permission denied"错误?

用 lsattr -d DIR 检查不可变位,如果存在则用 sudo chattr -i DIR 删除。同时确认挂载点不是只读的。如果某个服务在清理过程中重新创建路径,先修复 unit 问题。上面链接的 systemctl 部分会有帮助。

分享

博客更新

继续阅读。

可与 Cosmos Cloud 运行的最佳自托管应用,封面显示 Cosmos 仪表板周围的应用面板。
服务器和操作系统

可与 Cosmos Cloud 运行的最佳自托管应用:文件、媒体、密码、自动化等!

Maybe 你已设置 Cosmos Cloud,现在想了解哪些应用能很好地配合使用,或者你甚至还没决定选择 Cosmos,只是想看看它如何融入你的工作流

尼克·西尔弗尼克·西尔弗 16 分钟阅读
Portainer 对比 Cosmos Cloud 管理 Docker 应用,封面显示混合部署图以及 neon 操作对比访问块。
服务器和操作系统

Portainer 对比 Cosmos Cloud:Docker 应用管理的最佳选择

如果你已了解 Docker,只是想找到更清晰的方式运行不断增长的应用栈,这是 Portainer 对比 Cosmos Cloud 的简短答案。Portainer 是更强劲的选择,用于直接

尼克·西尔弗尼克·西尔弗 14 分钟阅读
Cosmos Cloud 对比 CasaOS 对比 Umbrel 功能图,显示一个抽象云网络世界内的三条自托管路径。
服务器和操作系统

Cosmos Cloud 对比 CasaOS 对比 Umbrel:哪个自托管平台适合你?

简短答案是 CasaOS 仍是最容易入门的选择,Umbrel 拥有最简洁的精选风格,Cosmos Cloud 在你需要更严格控制域名时更有意义

尼克·西尔弗尼克·西尔弗 11 分钟阅读

准备好部署了吗? 从 $2.48/月 起

独立云服务,始于2008年。AMD EPYC、NVMe,40 Gbps。14天退款保障。