在Linux命令行中查找空目录

发表于:2022-10-26 09:42

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:TIAP

  在 Linux 系统中,出现空的目录这是很正常的事情,而且,也是有办法一次性把它们都找出来的。
  但是,仅仅列出空目录并不是我们的目的,我们今天了解一下如何删除这些空的目录。
  在Linux中查找空目录
  查找空目录,可以使用 find 命令,再结合其 -empty 选项,如下所示:
  find /home/sagar/Files -type d -empty
  上述命令中,-type d 选项要求只列出目录。
  查找空文件
  我们上文刚刚提到,-type 选项后面跟 d 参数是搜索目录,将 d 改为 f 即可搜索文件。
  find /home/sagar/Files -type f -empty
  find 是一个很好用的命令,如果有兴趣了解更多,可参考我们先前的文章
  关于 find 命令的15个超级有用的例子。
  使用 find 命令删除空文件和目录
  使用 find 命令检索出结果,然后再使用 -delete 选项即可将其删除。比如,删除空目录,可参照如下命令:
  find /home/sagar/Files -empty -type d -delete
  使用 xargs 和 find -exec 命令删除空文件和目录
  find 和 exec 命令的结合可以让我们执行自定义操作,比如对搜索结果运行脚本和执行程序。
  而 xargs 可以从标准输入中获取输入,甚至可以将另一个命令的输出视为输入,并将其用作命令。
  我们先来看一下 find -exec 命令。使用该命令删除空文件,如下所示:
  find /home/sagar/Files -type f -empty -print0 -exec rm -v "{}" \;
  删除空的目录,可使用如下命令:
  find /home/sagar/Files -type d -empty -print0 -exec rmdir -v "{}" \;
  使用 xargs 命令的方式,如下所示:
  find /home/sagar/Files -type d -empty -print0 | xargs -0 -I {} /bin/rmdir "{}"
  然后,对上述命令做稍微的调整,可删除空文件:
  find /home/sagar/Files -type f -empty -print0 | xargs -0 -I {} /bin/rm "{}"
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号