我们创建的目录有时不再需要了,需要删除,这时就要用到rmdir(Remove Directory)这个命令。
删除空目录
rmdir [option] [目录名]
-p 删除目录及其父目录; -v 删除每个目录后输出删除信息。
首先,我们先在主目录中创建一个目录tmp,然后将其删除:
[peter@ibi98 rose]$ cd [peter@ibi98 ~]$ mkdir tmp [peter@ibi98 ~]$ ls flower lily prac tmp [peter@ibi98 ~]$ rmdir tmp [peter@ibi98 ~]$ ls flower lily prac
下面,我们重新在主目录中创建一个目录tmp,其中还有一个目录son:
[peter@ibi98 rose]$ cd [peter@ibi98 ~]$ mkdir -p tmp/son [peter@ibi98 ~]$
现在,我们是在主目录中,如果直接删除目录tmp,就会出错,因为tmp目录中还有目录son,不是空目录,而rmdir只能删除空目录。
[peter@ibi98 ~]$ mkdir -p tmp/son [peter@ibi98 ~]$ pwd /home/peter [peter@ibi98 ~]$ rmdir tmp rmdir: 删除 "tmp" 失败: 目录非空
有三种方法可以删除非空目录,一种是先删除tmp目录下的son目录,这时tmp目录就是空目录了,就可以用rmdir删除了,可以分两次删除,也可以一次删除。
[peter@ibi98 ~]$ rmdir tmp/son [peter@ibi98 ~]$ ls tmp [peter@ibi98 ~]$ rmdir tmp [peter@ibi98 ~]$ ls flower lily prac [peter@ibi98 ~]$ mkdir -p tmp/son [peter@ibi98 ~]$ ls flower lily prac tmp [peter@ibi98 ~]$ rmdir tmp/son tmp [peter@ibi98 ~]$ ls flower lily prac
另一种方法是用-p选项,删除tmp下的son目录:
[peter@ibi98 ~]$ mkdir -p tmp/son [peter@ibi98 ~]$ ls flower lily prac tmp [peter@ibi98 ~]$ ls tmp son [peter@ibi98 ~]$ rmdir -p tmp/son [peter@ibi98 ~]$ ls flower lily prac
还有一种方法是用rm命令加-r选项,我们在后面rm命令中再学习。
用rmdir删除目录相对比较安全,而rm -r命令无论目录是否为空都一律删除,因此用起来比较危险,必须确认目录中没有您还需要的资料时再用。
与目录操作相关的还有一个tree命令,在扩展学习里,请大家自行学习。还有几个命令如cp、rm、mv、ln等在文件和目录操作中都用,我们在后面的文件操作中学习。