Linux命令-rmdir(删除空目录) Linux命令-rmdir删除空目录命令语法常用选项场景化实例1. 基本使用2. 删除多个空目录3. 递归删除父子空目录4. 批量清理空目录5. 清理用户目录空文件夹6. 非空目录的错误处理7. 与 rm 对比8. 系统维护脚本最佳实践快速参考rmdir专门用于删除空目录只能删除不包含文件和子目录的目录。要删除非空目录需使用rm -r。适合清理文件系统中多余的空目录结构。提示rmdir比rm -r更安全因为不会误删有内容的目录。配合-p可递归删除路径上所有空目录。命令语法rmdir[选项]目录名...常用选项选项说明-p递归删除路径上所有空目录-v显示删除详情--ignore-fail-on-non-empty非空目录不报错场景化实例1. 基本使用# 创建并删除空目录mkdir/tmp/test_emptyls-ld/tmp/test_emptyrmdir/tmp/test_emptyls-ld/tmp/test_empty21# ls: cannot access /tmp/test_empty: No such file or directory2. 删除多个空目录mkdir/tmp/dir_a /tmp/dir_b /tmp/dir_crmdir-v/tmp/dir_a /tmp/dir_b /tmp/dir_c# rmdir: removing directory, /tmp/dir_a# rmdir: removing directory, /tmp/dir_b# rmdir: removing directory, /tmp/dir_c3. 递归删除父子空目录# 创建嵌套目录mkdir-p/tmp/deep/nested/path# 注意只有 path 是新建的空目录# -p 会尝试删除 path - nested - deep - /tmp/deeprmdir-pv/tmp/deep/nested/path# 输出哪些被删除了4. 批量清理空目录#!/bin/bash# 查找并删除项目中所有空目录echo扫描空目录中...empty_count0find.-typed-empty-print|whilereaddir;doecho空目录:$dir((empty_count))doneread-p共$empty_count个空目录确认删除(y/n) ansif[$ansy];thenfind.-typed-empty-deleteecho已删除所有空目录fi5. 清理用户目录空文件夹# 清理 home 目录的空文件夹跳过隐藏目录find~-maxdepth4-typed-empty!-path*/.git/*!-path*/node_modules/*2/dev/null# 实际删除find~-maxdepth4-typed-empty!-path*/.git/*-execrmdir{}\;2/dev/null6. 非空目录的错误处理# 非空目录会报错mkdir/tmp/has_filestouch/tmp/has_files/data.txtrmdir/tmp/has_files# rmdir: failed to remove /tmp/has_files: Directory not empty# 忽略非空错误rmdir--ignore-fail-on-non-empty /tmp/has_filesecho退出码:$?# 退出码: 0即使未删除也不报错# 清理rm-r/tmp/has_files7. 与 rm 对比# rmdir: 仅空目录安全mkdiremptyrmdirempty# rm -d: 等同于 rmdirmkdirempty2rm-dempty2# rm -r: 可删除非空目录危险mkdir-ptest/subtouchtest/sub/file.txtrm-rtest# 删除成功但不安全8. 系统维护脚本#!/bin/bash# 系统级空目录清理LOG/var/log/clean_empty_dirs.logecho$(date)开始清理空目录 $LOG# 清理临时目录find/tmp-maxdepth1-typed-empty-mtime1-execrmdir{}\;2$LOG# 清理 /var 空目录跳过关键路径find/var-typed-empty!-path/var/run/*!-path/var/lock/*2/dev/null|\whilereaddir;doecho发现:$dir$LOGdoneecho 清理完成 $LOG最佳实践用find . -type d -empty先扫描再删除生产环境配合--ignore-fail-on-non-empty安全清理。# 安全三步法find.-typed-empty/tmp/empty_dirs.txt# 列出cat/tmp/empty_dirs.txt# 审查xargs-a/tmp/empty_dirs.txtrmdir-v# 删除

相关新闻

最新新闻

大模型应用的“灯与精灵”:Agent 工程化核心链路与最佳实践

大模型应用的“灯与精灵”:Agent 工程化核心链路与最佳实践

如果只看表面,“The Lamp and the Genie”像是一个童话故事的标题:一盏旧油灯,一个无所不能的精灵,摩擦灯身就能呼唤奇迹。但在 AI 工程化语境里,这个隐喻恰好戳中了很多开发团队的真实状态。大模型就是那个“精灵”—…

2026/8/29 3:21:07
WebMCP挑战赛:从MCP协议到Agent工程化实战指南

WebMCP挑战赛:从MCP协议到Agent工程化实战指南

如果最近你在关注 AI 编程和 Agent 方向的动态,大概会注意到一个现象:真正让人兴奋的事情,已经不是“哪个模型又涨了几分”,而是“模型能不能替你把一件真实的事情做完”。OpenAI WebMCP 挑战赛选择在这个时间点出现,正…

2026/8/29 3:21:07
OpenClaw本地Agent工作台部署指南:从模型接入到IM通道与Skill扩展

OpenClaw本地Agent工作台部署指南:从模型接入到IM通道与Skill扩展

OpenClaw 正在成为社区里一个值得关注的本地 Agent 工作台,最近“回归在即”的话题又让一批开发者开始讨论它:有人关心怎么在 Windows 上装起来,有人已经折腾到接入微信、钉钉、飞书,还有人开始写 Skill 把内部 API 接进来。这篇文…

2026/8/29 3:21:07
Ubuntu容器中执行危险Linux命令的隔离效果与安全边界分析

Ubuntu容器中执行危险Linux命令的隔离效果与安全边界分析

这次我们来看一个很容易让新手手抖的实验:在 Ubuntu 容器里输入那些被称为“死亡命令”的 Linux 操作。不少刚接触 Docker 的人都会好奇一个问题:容器不是隔离的吗?那我在容器里执行rm -rf /,宿主机会不会也跟着遭殃?或…

2026/8/29 3:21:07
Java后端面试八股文三天复习:构建知识网络从容应对

Java后端面试八股文三天复习:构建知识网络从容应对

在实际的Java后端招聘中,面试官问“八股文”并不是为了刁难候选人。无论你看到的资料标题是“2026最新”“高频面试题”还是“3天速通”,背后考察的其实是同一个能力:候选人能不能把 Java 基础、Spring 机制、数据库、缓存、消息队列、Linux …

2026/8/29 3:21:07
ROS2苹果采摘机器人开发实录:从YOLO检测到MoveIt2运动规划

ROS2苹果采摘机器人开发实录:从YOLO检测到MoveIt2运动规划

简介:机器人操作系统(ROS2)为复杂机器人系统的开发提供了分布式通信与生命周期管理等关键机制,尤其在农业采摘等非结构化场景中,机器人的感知、规划与控制能力需要紧密协同。本文从目标检测与三维定位出发,…

2026/8/29 3:16:06