51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1175|回复: 0

如何在Linux命令行中查找空目录看这篇就够了。

[复制链接]
  • TA的每日心情
    无聊
    前天 09:12
  • 签到天数: 918 天

    连续签到: 3 天

    [LV.10]测试总司令

    发表于 2022-10-26 09:54:11 | 显示全部楼层 |阅读模式
    在 Linux 系统中,出现空的目录这是很正常的事情,而且,也是有办法一次性把它们都找出来的。
      但是,仅仅列出空目录并不是我们的目的,我们今天了解一下如何删除这些空的目录。
      在Linux中查找空目录
      查找空目录,可以使用 find 命令,再结合其 -empty 选项,如下所示:
    1. find /home/sagar/Files -type d -empty
    复制代码

    上述命令中,-type d 选项要求只列出目录。
      查找空文件
      我们上文刚刚提到,-type 选项后面跟 d 参数是搜索目录,将 d 改为 f 即可搜索文件。

    1. find /home/sagar/Files -type f -empty
    复制代码

    find 是一个很好用的命令,如果有兴趣了解更多,可参考我们先前的文章:
      关于 find 命令的15个超级有用的例子
      使用 find 命令删除空文件和目录
      使用 find 命令检索出结果,然后再使用 -delete 选项即可将其删除。比如,删除空目录,可参照如下命令:

    1.  find /home/sagar/Files -empty -type d -delete
    复制代码

    使用 xargs 和 find -exec 命令删除空文件和目录
      find 和 exec 命令的结合可以让我们执行自定义操作,比如对搜索结果运行脚本和执行程序。
      而 xargs 可以从标准输入中获取输入,甚至可以将另一个命令的输出视为输入,并将其用作命令。
      我们先来看一下 find -exec 命令。使用该命令删除空文件,如下所示:

    1.  find /home/sagar/Files -type f -empty -print0 -exec rm -v "{}" \;
    复制代码

    删除空的目录,可使用如下命令:
    1. find /home/sagar/Files -type d -empty -print0 -exec rmdir -v "{}" \;
    复制代码

    使用 xargs 命令的方式,如下所示:
    1. find /home/sagar/Files -type d -empty -print0 | xargs -0 -I {} /bin/rmdir "{}"
    复制代码

    然后,对上述命令做稍微的调整,可删除空文件:
    1.  find /home/sagar/Files -type f -empty -print0 | xargs -0 -I {} /bin/rm "{}"
    复制代码


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 00:33 , Processed in 0.060247 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表