在Linux命令行中查找空目录

系统 Linux
仅仅列出空目录并不是我们的目的,我们今天了解一下如何删除这些空的目录。

在 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 "{}"

关于 xargs 命令,我们先前介绍过一篇文章,大家感兴趣的也可以参考:

如何在Linux中使用xargs命令

责任编辑:庞桂玉 来源: TIAP
相关推荐

2019-07-15 05:50:19

Linux命令行VirtualBox版

2022-10-14 19:30:29

Linux

2022-10-20 16:51:44

Linux命令行IP 地址

2022-04-11 06:03:24

FdupesLinux命令行工具

2021-07-12 14:53:27

LinuxGmail电子邮件

2009-02-18 20:20:40

autojump更改目录命令行下

2009-02-17 23:21:12

autojump命令行下快速更改目录

2009-08-04 10:06:37

如何进入linux命令linux系统linux

2021-07-15 13:25:43

LinuxPDF

2021-07-15 13:32:12

Linux生成密码

2018-07-12 16:22:45

Linux命令行文本颜色

2019-07-12 14:00:55

xclipLinux命令行

2015-09-02 15:47:05

命令行fdupesLinux

2014-09-11 10:33:06

Linux

2022-08-14 19:19:14

Linux

2019-05-21 10:38:17

Linux命令行

2010-03-24 14:08:10

CentOS命令行

2009-12-03 10:21:13

linux默认目录命令行

2022-11-08 09:38:18

Linux命令行删除文件

2023-03-21 09:31:30

Linux命令行文件夹
点赞
收藏

51CTO技术栈公众号