当前位置: 首页 > news >正文

Linux命令-rmdir(删除空目录)

Linux命令-rmdir(删除空目录)

    • 命令语法
    • 常用选项
    • 场景化实例
      • 1. 基本使用
      • 2. 删除多个空目录
      • 3. 递归删除父子空目录
      • 4. 批量清理空目录
      • 5. 清理用户目录空文件夹
      • 6. 非空目录的错误处理
      • 7. 与 rm 对比
      • 8. 系统维护脚本
    • 最佳实践

快速参考rmdir专门用于删除空目录,只能删除不包含文件和子目录的目录。要删除非空目录需使用rm -r。适合清理文件系统中多余的空目录结构。

提示rmdirrm -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_empty2>&1# ls: cannot access '/tmp/test_empty': No such file or directory

2. 删除多个空目录

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_c'

3. 递归删除父子空目录

# 创建嵌套目录mkdir-p/tmp/deep/nested/path# 注意:只有 path 是新建的空目录# -p 会尝试删除 path -> nested -> deep -> /tmp/deeprmdir-pv/tmp/deep/nested/path# 输出哪些被删除了

4. 批量清理空目录

#!/bin/bash# 查找并删除项目中所有空目录echo"扫描空目录中..."empty_count=0find.-typed-empty-print|whilereaddir;doecho"空目录:$dir"((empty_count++))doneread-p"共$empty_count个空目录,确认删除?(y/n) "ansif["$ans"="y"];thenfind.-typed-empty-deleteecho"已删除所有空目录"fi

5. 清理用户目录空文件夹

# 清理 home 目录的空文件夹(跳过隐藏目录)find~-maxdepth4-typed-empty!-path"*/.git/*"!-path"*/node_modules/*"2>/dev/null# 实际删除find~-maxdepth4-typed-empty!-path"*/.git/*"-execrmdir{}\;2>/dev/null

6. 非空目录的错误处理

# 非空目录会报错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_files

7. 与 rm 对比

# rmdir: 仅空目录,安全mkdirempty&&rmdirempty# rm -d: 等同于 rmdirmkdirempty2&&rm-dempty2# rm -r: 可删除非空目录(危险)mkdir-ptest/sub&&touchtest/sub/file.txtrm-rtest# 删除成功但不安全

8. 系统维护脚本

#!/bin/bash# 系统级空目录清理LOG="/var/log/clean_empty_dirs.log"echo"===$(date)开始清理空目录 ===">>"$LOG"# 清理临时目录find/tmp-maxdepth1-typed-empty-mtime+1-execrmdir{}\;2>>"$LOG"# 清理 /var 空目录(跳过关键路径)find/var-typed-empty!-path"/var/run/*"!-path"/var/lock/*"2>/dev/null|\whilereaddir;doecho"发现:$dir">>"$LOG"doneecho"=== 清理完成 ===">>"$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# 删除
http://www.jsqmd.com/news/1167190/

相关文章:

  • 2026年成都GEO优化服务商推荐——趋势落地:成都企业选型实操指南 - 资讯报道
  • SD绘图常见翻车现场合集:鬼手、崩脸、多指症全解决
  • 5分钟快速上手Czkawka:终极免费重复文件清理工具完全指南
  • Pika Pack vs Webpack vs Rollup:选择最佳构建工具的10个关键因素
  • 5分钟快速上手HS2-HF Patch:Honey Select 2汉化去码与插件增强完整指南
  • 2026 年北京空调维修管道疏通马桶疏通商家实测,本地住户真实体验分享 - LYL仔仔
  • MMD舞蹈视频制作全流程:从模型导入到特效渲染实战
  • 2026年7月泉州华硕售后设备故障诊断排查手册|常见问题一站式解答.txt - 品牌引荐
  • 2026年7月泉州戴尔售后设备深度养护方案|延长设备使用寿命全攻略.txt - 品牌引荐
  • Hermes Agent与Harness Engineering实战:从环境搭建到生产部署
  • 2026年7月保养价格建议征集帖|劳力士全面保养价格评价,看完才知道每一分钱花在哪了,劳力士授权门店价格详情 - 劳力士服务维修中心
  • VirtualBox vs VMware:哪个桌面虚拟机更好?
  • Prompt 模板版本化管理:从字符串散落到可追溯的工程体系
  • 2026年东莞头部GEO公司:企业实战手册与避坑攻略 - 资讯报道
  • 欧姆龙温控器测试3线PT100消除导线误差的原理,正解利用运放电路Vo = 2V+ - V- = Vpt100
  • 永续合约多空双开策略 v1.0 实盘部署:基于CCXT的3步自动化交易系统
  • 2026 西安服务好的外墙漏水维修那家专业防水修缮 TOP4:本地外墙堵漏靠谱企业盘点 专业防水公司排名推荐(2026年5月防水补漏最新TOP权威排名) - 冠盾建筑修缮
  • 结构体struct面试必考:内存对齐、和class的区别、机器人里的实战用法
  • 2026 南京鼓楼区包包回收哪里好?易奢福 30 年连锁资质最靠谱 - 奢侈品回收实体店
  • IM-IAD 基准实战:PatchCore 在 7 大工业数据集上的 5 种设置性能对比
  • 收藏!小白程序员必看:AI+制造新赛道深度解析,抓住未来机遇!
  • 怎么在网上做投票?活动结束后直接导出报表,不用手动去数票。 - GrowUME
  • 2026年度常州GEO服务公司哪家好——最新动态与选型风向标 - 资讯报道
  • 武汉镶嵌翡翠戒面回收指南,裸石与戒托分开单独计价 - 讯息早知道
  • SingleFile:革命性的网页完整保存解决方案
  • FPS游戏瞄准优化:从鼠标设置到系统调优的完整指南
  • 前端小白也能掌握!30天实战AI开发,收藏这系列就够了!
  • 抖音批量下载终极解决方案:如何用开源工具实现高效无水印视频采集
  • 2026 南京栖霞区黄金回收怎么防套路?易奢福当面称重零隐形扣费 - 奢侈品回收实体店
  • 告别重复点击:掌握FGO-py自动化助手的智能游戏体验