• Linux快速删除空目录


    在Linux系统中很多空目录会导致杂乱无章,其实这些空目录是没啥用的,在删除这些空目录时,手动搜索和删除每个目录都成为一项艰巨的任务。

    使用命令行删除目录时,它们将被永久删除,即它们不会被移动到垃圾箱。rmdir 和 rm 命令一次只能用于手动删除一个或多个目录。find 命令用于搜索所有空目录,并使用单个命令将其全部删除。下面来看一下是如何使用的。

    1,删除空目录使用rmdir命令

    rmdir 命令用于删除空目录。它只删除空目录,因此,如果目录不为空,它将显示目录不为空的错误。使用此命令时,您不需要检查空目录,要使用rmdir命令。

    [root@localhost sharplee]#rmdir test*

    从上图可以看出通过rmdir删除目录test开头的空目录,test5不是空目录删除的时候报错不受空目录。rmdir删除目录的时候不是空目录是不会被删除的。其实test5下面也有一个空目录,有没有啥办法可以删除这俩目录。下面就来看一看rmdir加上参数能不能行。

    [root@localhost sharplee]#rmdir -p  test5/test

    从上图可以看出通过rmdir -p test5/test,能够删除子目录为空目录以及父目录为空的目录,如果子目录为空,父目录不为空,父目录不会被删除。

    在来看一个反例,test5目录下有test1,test2目录,test1目录下有一个文件test,test2为空目录,删除test2,不能删除test5,test5目录不为空目录,删除test1目录,test1目录不为空目录,下面有一个文件。

    2,删除空目录使用rm命令

    与 rmdir 命令不同,rm 命令用于删除文件和目录,无论是空的还是非空的。当使用不带任何参数的 rm 命令时,它不会删除目录:

    [root@localhost sharplee]# rm test5
    rm: cannot remove ‘test5’: Is a directory
    [root@localhost sharplee]#

    通过上面的命令可以看出使用rm是不能删除目录的,删除目录需要在rm 后面加上参数-d 。

    [root@localhost sharplee]# rm -d test*

     通过上图看出rm -d 删除空目录,下面接着看一下test5目录不是空目录,目录下有一个文件tt看能否删除目录。

    3,删除空目录使用find命令

    查找命令用于搜索文件和目录。使用查找命令和一些参数,我们可以搜索系统中的所有空目录并删除它们。

    [root@localhost sharplee]# find path -type d -empty

    下面是对上面的命令的一个解释:

    • path : 要搜索的目录的路径 
    • -type d: 将搜索限制为仅目录(也可以使用 -type f 搜索文件)
    • -empty:仅将搜索限制为空目录

    [root@localhost test1]# find /home/sharplee/test1 -type d -empty

    通过上面可以看出使用该命令可以查找出该目录下的所有空目录。接下来看看如何删除,其实很简单,在命令后面加上一个-delete即可。

    [root@localhost sharplee]# find path -type d -empty -delete

     总结: 通过以上3种方式都可以删除空目录,rmdir 和rm只能对单个目录或多个目录进行一个一个删除而find 命令可以查出所有的空目录一次进行删除。

  • 相关阅读:
    webpack脚手架增加版本号
    background-image:url为空引发的两次请求问题
    vue中引入.svg图标,使用iconfont图标库
    mysql数据库
    vue 博客知识点汇总
    vue中显示markdown文件为html
    canvans知识点
    js如何实现一定时间后去执行一个函数
    CSS3选择器使用小结
    为什么margin-top不是作用于父元素
  • 原文地址:https://www.cnblogs.com/Hackerman/p/15991626.html
Copyright © 2020-2023  润新知