您的位置:首页 > 其它

创建和删除目录 mkdir rmdir 以及 rm命令

2017-12-19 02:51 295 查看
1、命令 mkdir
用来创建目录的,这个命令在之前用到过。 ‘mkdir’ 其实就是 make directory 的缩写。
来举个例子,在 tmp 目录下创建 lyslinux 的目录,详见下图,



用 ls -ld 命令查看到这个目录的详细信息,建立于12月19日 00:32 分。
再举一个例子,详见下图,



上图中,命令 date 是用来查看当前的时间。
其中,命令 mkdir /tmp/lyslinux/1/2/ 执行之后显示 没有那个文件或目录 ,再用命令 ls -l /tmp/lyslinux/ 来查看当前的目录,显示 总用量 0 ,说明 /tmp/lyslinux/ 目录下面没有内容。由此可见,在没有目录1的情况下是不可能创建目录2的。
上述情况中,想创建一连串目录的命令还是有的,需用到 mkdir -p 命令,详见下图,



可以看到,用命令 mkdir -p 成功创建一连串的目录,用命令 ls -l 都可以往下查到子目录。
下面再用命令 mkdir -pv 来演示,pv 为可视化的意思,我们可以看到目录的创建过程,由目录2到目录3再到目录4 。



2、命令 rmdir

既然可以创建目录,当然也可以删除目录。使用命令 rmdir ,其中 rmdir 为 remove directory 的缩写。现在来试着移除目录,



从上图中,可以看出,rmdir 命令可以删除目录,但是只能删除空目录,目录下面有子目录的情况, mkdir 这个命令就无法删除。
既然 mkdir 不能删除有子目录的目录,那能不能删除有文件的目录呢?我们来试一下,



先用命令 touch 在目录3下面创建一个空白的文件 1.txt 。然后执行命令 rmdir /tmp/lyslinux/2/3 ,结果显示 失败:目录非空 ,说明 rmdir 也无法删除有文件的目录。现在试着使用该命令来删除 1.txt 这个文件,结果显示 失败:不是目录 。说明 rmdir 这个命令只能删除空目录,不能删除空文件。



实际上,还有一个命令 rm ,可以删除文件,也可以删除目录。后面会讲到。

既然有可以创建一连串空目录的命令,肯定也有可以删除一连串空目录的命令,来试一下命令 rmdir -p ,见下图,



我们先用命令 rmdir 删掉了目录1下面的空目录2,ls 命令之后显示文件 lyslinux 下面还有两个子目录1和2,再次在目录1下面创建一个空子目录2,然后用 rmdir -p 命令来操作,结果显示 删除目录 "/tmp/lyslinux" 失败: 目录非空 ,我们再用命令 tree 来查看一下 /tmp/lyslinux/ 这个文件,发现子目录3里面有个文本文档 1.txt 。
由此可见,目录1和目录1下面的目录2全部删掉了,但是因为目录3里面有文件,而导致 /tmp/lyslinux/ 这个目录删除失败。说明 -p 这个命令也是可以删除一连串的目录,只要它是空的。但是我们一般不会使用这个命令,比较容易混淆,万一删错了,后果就很严重,只要目录为空,就会全部删除掉。

3、命令 rm

rmdir 这个命令有局限性,只能删除目录,不能删除文件。我们一般常用的删除命令是 rm ,为 remove 的缩写。该命令可以删除文件,也可以删除目录,而且是非空的目录。举个例子,



上图中,我们删除了文件 1.txt ,删除之前,还询问我们是否删除?那可以不出现这个询问吗?具体操作详见下图,



这边再提到一个命令 history ,执行之后可以看到之前敲过的所有命令。















上图中,可以看出,上一次使用过的 tree 命令,就是红色框框标注的位置。!tree 执行的命令就是这个。再试一下 !touch 命令,



用 !这个命令比较方便,可以提高敲命令的效率。还可以使用上下方向键,来寻找历史中敲过的命令。

我们回到 -f 这个命令来,经过上面的演练,我们可以看到,rm -f 命令可以强制删除文件和目录。上面删除的是文件,现在来看一下删除目录,



结果显示,无法删除目录。用命令 man rm ,来看一下 rm 的用法。





上图红色框框中 -r 的用法,就是可以集联地把这些目录都删掉。



上图可以发现,使用 -r 命令会一级一级的询问是否删除目录,先进入目录,删除文件,再删除目录。若是想不再收到询问,加个 f 就可以了,再用命令 tree 查看一下,可以看到目录2成功删除,并且没有发生询问。
我们再来试一下,





由此可见,在删除目录的时候,需要先删除目录下的文件,然后再删除目录。
现在试着删除掉一个不存在的文件,先用 !tree 命令来查看,可以看到目录3已经被删掉了,然后再执行 rm -rfv /tmp/lyslinux/2/3/ 这个命令,发现没有任何提示,



说明起作用的是 f ,把 f 去掉之后,就会提示没有文件或目录了。这点是需要注意的,使用 f 的时候要小心,会掩盖错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐