Linux 【05-rmdir命令超详细教程】

Linux rmdir 命令 超详细教程

rmdir = remove directory ,专门用来删除空目录不能删除文件、非空目录 ,安全度高于 rm -rf

一、基本语法

bash 复制代码
rmdir [选项] 目录名

二、常用选项(最全)

选项 作用
-p / --parents 递归删除一串连续空目录(级联删除父空目录)
-v / --verbose 显示删除过程详情
--ignore-fail-on-non-empty 目录非空时不报错,直接跳过
--help 查看帮助
--version 查看版本

三、基础用法(实操示例)

1. 删除单个空目录

bash 复制代码
# 创建空目录
mkdir test_dir

# 删除空目录
rmdir test_dir

目录里面有文件/子目录 ,执行会报错:rmdir: 无法删除 'xxx': 目录非空

2. 带 -v 显示删除日志

bash 复制代码
mkdir dir1
rmdir -v dir1
# 输出:rmdir: 正在删除目录 'dir1'

3. 级联删除空目录 -p(高频用法)

适用于 多层连续空文件夹,一次性从最内层往外层删。

示例:创建多层空目录
bash 复制代码
mkdir -p a/b/c

目录结构:a → b → c(全部为空)

使用 -p 一键删除整条路径
bash 复制代码
rmdir -p a/b/c

执行后 abc 全部被删除。

规则:从最后一级 开始删,父目录变空就继续往上删,遇到非空目录立即停止

搭配 -v 看过程
bash 复制代码
rmdir -pv a/b/c

四、特殊场景用法

1. 忽略"目录非空"报错

目录非空时不抛出错误、直接跳过:

bash 复制代码
rmdir --ignore-fail-on-non-empty 目录名

2. 同时删除多个空目录

空格分隔多个目录名:

bash 复制代码
mkdir d1 d2 d3
rmdir d1 d2 d3

3. 删除带空格的目录

目录名含空格,用引号包裹:

bash 复制代码
mkdir "my folder"
rmdir "my folder"

五、rmdir 和 rm 区别(重点区分)

  1. rmdir

    • 只删空目录
    • 安全,不会误删文件
    • 不能删普通文件
  2. rm

    • rm 文件:删除文件
    • rm -r 目录:递归删除非空目录+所有内容
    • rm -rf:强制递归删除(高危,慎用)

建议:删空目录优先用 rmdir,更安全。


六、常见报错 & 解决

  1. 报错:目录非空

    原因:目录里有文件/子文件夹

    解决:先清空目录,或改用 rm -r 目录

  2. 报错:没有那个文件或目录

    原因:目录不存在、路径写错

    解决:用 ls 核对目录名/路径

  3. 报错:权限不够

    原因:无删除权限

    解决:加 sudo rmdir 目录


七、总结速查

  • 删单个空目录:rmdir 目录
  • 删多层空目录:rmdir -p 层级目录
  • 看删除详情:rmdir -v
  • 批量删空目录:rmdir 目录1 目录2
  • 非空不报错:rmdir --ignore-fail-on-non-empty
相关推荐
tntxia1 天前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo5 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux