rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
rmdir [参数] Ŀ¼
该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。
参数 | 描述 |
---|---|
-p | 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 |
-v | --verbose,显示指令执行过程 |
命令:
rmdir dir31
输出:
hc@hc-virtual-machine:~$ tree test1/ test1/ ├―― dir1 │ ├―― dir11 │ └―― file1 └―― dir2 │ └―― dir21 └―― dir3 └―― dir31 4 directories, 1 file hc@hc-virtual-machine:~$ rmdir test1/dir1/file1 rmdir: 删除 'test1/dir1/file1' 失败: 不是目录 hc@hc-virtual-machine:~$ rmdir test1/dir3 rmdir: 删除 'test1/dir3' 失败: 目录非空 hc@hc-virtual-machine:~$ rmdir test1/dir3/dir31 hc@hc-virtual-machine:~$ tree test1/ test1/ ├―― dir1 │ ├―― dir11 │ └―― file1 └―― dir2 │ └―― dir21 └―― dir3
说明:
rmdir 目录名 ,不能用来删除文件,也不能删除非空目录,只能用来删除单个空目录
命令:
rmdir -p test1/dir2/dir21/
输出:
hc@hc-virtual-machine:~$ tree test1/ test1/ ├―― dir1 │ ├―― dir11 │ └―― file1 └―― dir2 └―― dir21 4 directories, 1 file hc@hc-virtual-machine:~$ rmdir -p test1/dir2/dir21/ rmdir: 删除目录 'test1' 失败: 目录非空 hc@hc-virtual-machine:~$ tree test1/ test1/ └―― dir1 ├―― dir11 └―― file1 2 directories, 1 file
说明:
删除dir2目录下的dir21目录,如果删除后,dir21目录的父级目录为空目录,则删除其父级目录dir2,如果dir2的目录被删除后,test1目录为空目录,则接着删除,直到遇到父级目录不为空目录,则停止删除
rmdir -p 当该目录的子目录被删除后使其也成为空目录的话,则顺便一并删除该目录
命令:
rmdir -pv test1/dir1/dir11/
输出:
hc@hc-virtual-machine:~$ ls PycharmProjects snap test1 公共的 模板 视频 ͼƬ 文档 下载 音乐 桌面 hc@hc-virtual-machine:~$ tree test1/ test1/ └―― dir1 └―― dir11 hc@hc-virtual-machine:~$ rmdir -pv test1/dir1/dir11/ rmdir: 正在删除目录 'test1/dir1/dir11/' rmdir: 正在删除目录 'test1/dir1' rmdir: 正在删除目录 'test1' hc@hc-virtual-machine:~$ ls PycharmProjects snap 公共的 模板 视频 ͼƬ 文档 下载 音乐 桌面