rmdir 是 Linux 系统中用于删除空目录的命令。与 rm 命令不同的是,rmdir 只能删除空的目录,如果目录不为空,则会报错。通过理解和正确使用 rmdir 命令,可以有效管理系统中的空目录。对于复杂的目录删除任务,建议使用 rm 命令的递归选项。

1、命令简介

rmdir:删除空目录。

2、命令语法

rmdir [OPTION]... DIRECTORY...

3、命令描述

rmdir 命令删除命令行中指定的空目录。这些目录按照它们在命令行中指定的顺序(即从左到右)从文件系统中删除。如果目录不为空,你会收到一条错误消息。你可以在命令行中指定多个要删除的目录。它会按照命令行中指定的顺序删除每个目录。如果其中任何一个目录不为空,它会显示一条错误消息并继续删除命令行中下一个指定的目录。

要删除父目录及其子目录,必须先指定子目录,这样在 rmdir 尝试删除父目录时,父目录是空的。

4、命令选项

选项

描述

--ignore-fail-on-non-empty

忽略仅因目录非空而导致的每次失败

-p, --parents

删除目录及其祖先目录;例如,

rmdir -p a/b/c

类似于

rmdir a/b/c a/b a

-v, --verbose

为处理的每个目录输出详细信息

--help

显示此帮助信息并退出

--version

输出版本信息并退出

5、使用示例

1)非空目录删除

当目录不为空时,rmdir 命令会报告错误。

$ rmdir www-data/
rmdir: failed to remove 'www-data/': Directory not empty

2)显示删除详细信息

要为每个正在处理的目录显示详细信息,可以使用 -v 选项。

$ rmdir -v home/www-data/ home/www-log/ 
rmdir: removing directory, 'home/www-data/'
rmdir: removing directory, 'home/www-log/'

3)删除多级目录

要同时删除父目录及其子目录,可以使用 -p 选项。

$ rmdir -v -p home/www-data
rmdir: removing directory, 'home/www-data'
rmdir: removing directory, 'www-data'

4)忽略删除非空目录错误消息

通常,当 rmdir 命令被指示删除一个非空目录时,它会报告一个错误。但可以使用 --ignore-fail-on-non-empty 选项来忽略这些错误消息。

这里,socialdb 目录有几个文件。在删除 education 文件夹后,socialdb 目录仍然不为空。但命令忽略了错误消息。

$ rmdir --ignore-fail-on-non-empty -p home/www-data/

推荐文档