在Linux中的rmdir
是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm -r dir
命令可代替rmdir
,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
rmdir [选项]… 目录…
该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。
- p
递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 -v
, --verbose
显示指令执行过程 rmdir
不能删除非空目录
命令:
rmdir doc
输出:
zyiz@ubuntu:~/mkdir/project$ tree . ├── bin ├── doc │ ├── info │ └── product ├── lib ├── logs │ ├── info │ └── product └── service └── deploy ├── info └── product zyiz@ubuntu:~/mkdir/project$ rmdir doc rmdir: failed to remove ‘doc’: Directory not empty zyiz@ubuntu:~/mkdir/project$ rmdir doc/info zyiz@ubuntu:~/mkdir/project$ rmdir doc/product zyiz@ubuntu:~/mkdir/project$ tree . ├── bin ├── doc ├── lib ├── logs │ ├── info │ └── product └── service └── deploy ├── info └── product directories, 0 files
说明:
rmdir
在执行删除目录时, 此命令不能直接删除非空目录。
rmdir -p
当子目录被删除后使它也成为空目录的话,则顺便一并删除
命令:
rmdir -p logs
输出:
zyiz@ubuntu:~/mkdir/project$ tree . ├── bin ├── doc ├── lib ├── logs │ ├── info │ └── product └── service └── deploy ├── info └── product directories, 0 files zyiz@ubuntu:~/mkdir/project$ rmdir -p logs rmdir: failed to remove ‘logs’: Directory not empty zyiz@ubuntu:~/mkdir/project$ tree . ├── bin ├── doc ├── lib ├── logs │ ├── info │ └── product └── service └── deploy ├── info └── product directories, 0 files zyiz@ubuntu:~/mkdir/project$ rmdir -p logs/product/ rmdir: failed to remove directory ‘logs’: Directory not empty zyiz@ubuntu:~/mkdir/project$ rmdir -p logs/product rmdir: failed to remove ‘logs/product’: No such file or directory zyiz@ubuntu:~/mkdir/project$ tree . ├── bin ├── doc ├── lib ├── logs │ └── info └── service └── deploy ├── info └── product directories, 0 files zyiz@ubuntu:~/mkdir/project$