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
命令查看 - 在删除重要目录之前,建议先备份或仔细检查