rmdir:rmdir(remove directory)命令用于删除空目录。
一、语法
rmdir [选项] 目录名
二、选项
- --ignore-fail-on-non-empty:遇到非空目录时不报错(默认情况下会报错)。
- -p, --parents:递归删除多级空目录,从子目录一直删到父目录(如果它们都是空的)。
三、示例
- 删除空目录
rmdir empty_dir
#empty_dir 必须是空的,否则会报错。
- 递归删除多级空目录
rmdir -p dir1/dir2/dir3
#如果 dir3 为空,删除 dir3,然后检查 dir2 是否为空,若空则删除,依次向上检查 dir1。
- 忽略非空目录报错
rmdir --ignore-fail-on-non-empty non_empty_dir
#目录非空时不报错,但不会删除目录。
- 不能删除非空目录,如果 rmdir 目标目录中有文件或子目录,会报错:
rmdir mydir
rmdir: failed to remove 'mydir': Directory not empty
#此时需使用 rm -r mydir 来强制删除。
四、注意
rmdir和rm -r作用并不一样。
- rmdir 只能删除空目录,如果目录非空,会报错。
- rm -r 可以递归删除目录及其中的所有文件和子目录(无论是否为空)。
如果你想删除一个非空目录,需要使用 rm -r。