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