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
相关推荐
2301_777998342 小时前
磁盘与文件系统
linux
牟同學2 小时前
Ubuntu 18.04 升级至 22.04 LTS 完整指南
linux·ubuntu
qq_163135752 小时前
Linux 【02-cd命令超简教程】
linux
ShirleyWang0122 小时前
win11运行ubuntu报错
linux·运维·ubuntu
加油码2 小时前
Linux 进程详解:从进程状态、调度到程序替换
linux·服务器
DeeplyMind2 小时前
Linux 内核模块符号版本不匹配问题排查指南
linux·crc·module.symvers
qq_163135752 小时前
Linux查看组名
linux
烁3473 小时前
Linux简单脚本
linux·运维·服务器
hanbr3 小时前
Linux 基础入门笔记:从零开始理解核心概念与常用操作
linux