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
相关推荐
一叶龙洲4 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker6 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
j7~7 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
观山岳五楼8 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
m0_715646769 小时前
20260720
linux·arm
寒晓星9 小时前
[linux]线程及多线程
linux·运维
辰痕~9 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
国服第二切图仔11 小时前
13其他工具 - Skill/LSP/Sleep等
linux·运维·里氏替换原则
就不掉头发12 小时前
计算机的虚拟内存
linux·服务器·windows