rmdir命令

rmdir 命令 #

rmdir命令(remove directory)用于删除空目录。如果目录不为空(包含文件或子目录),则该命令将失败。

语法 #

rmdir [选项] 目录...

常用选项 #

选项 描述
-p, --parents 删除目录及其祖先目录,当它们变为空时
-v, --verbose 显示处理的每个目录
--ignore-fail-on-non-empty 忽略因目录非空而导致的失败

常见用法 #

1. 删除单个空目录 #

rmdir empty_directory

2. 删除多个空目录 #

rmdir dir1 dir2 dir3

3. 删除嵌套的空目录 #

rmdir -p parent/child/grandchild

这将尝试删除grandchild目录,然后是child目录,最后是parent目录,前提是它们都是空的。

4. 显示删除的目录 #

rmdir -v empty_directory

输出示例:

rmdir: removing directory, 'empty_directory'

5. 删除嵌套的空目录并显示过程 #

rmdir -pv parent/child/grandchild

输出示例:

rmdir: removing directory, 'parent/child/grandchild'
rmdir: removing directory, 'parent/child'
rmdir: removing directory, 'parent'

6. 尝试删除非空目录 #

rmdir non_empty_directory

输出示例:

rmdir: failed to remove 'non_empty_directory': Directory not empty

7. 忽略非空目录的错误 #

rmdir --ignore-fail-on-non-empty directory

这将尝试删除目录,如果目录非空,则静默失败。

提示 #

  • rmdir只能删除空目录,如果目录包含任何文件或子目录,命令将失败
  • 要删除非空目录及其内容,请使用rm -r命令(谨慎使用)
  • 使用-p选项可以一次性删除整个目录路径(如果所有目录都是空的)
  • 在脚本中使用rmdir比使用rm -r更安全,因为它不会递归删除内容
  • 如果需要确认目录是否为空,可以先使用ls -la directory命令查看
  • 在删除重要目录之前,建议先备份或仔细检查