📅  最后修改于: 2023-12-03 14:52:25.134000             🧑  作者: Mango
在 Linux 中,有时候我们需要找出空目录(即文件夹中没有任何文件或子文件夹)来进行删除、移动或者其他操作。本文将介绍如何使用 Shell-Bash 命令来查找空目录。
使用 find 命令可以查找出当前目录及其子目录中所有的空目录。具体命令如下:
find . -type d -empty
命令解释:
.
:表示当前目录,也可以使用其他目录路径代替。
-type d
:表示查找类型为目录的文件(即文件夹)。
-empty
:表示查找空目录。
执行上述命令后,会输出当前目录及其子目录中所有的空目录。例如,输出如下所示:
./empty_dir
./dir/empty_dir
使用 tree 命令可以以树形结构显示目录及其子目录中的所有文件和文件夹,并标记空目录。具体命令如下:
tree -d
命令解释:
-d
:表示只显示目录,不显示文件。执行上述命令后,会输出当前目录及其子目录中的所有文件和文件夹,并标记空目录。例如,输出如下所示:
.
├── dir1
│ └── sub_dir1
├── dir2
│ └── sub_dir2
│ └── empty_dir
└── empty_dir
使用 ls 命令结合 grep 命令也可以查找出当前目录中所有的空目录。具体命令如下:
ls -l | grep "^d.* 0 "
命令解释:
ls -l
:表示显示当前目录下的所有文件和子目录,详细显示信息。
grep "^d.* 0 "
:表示过滤出空目录,其中 ^d
表示以字母 “d” 开头(即目录),.*
表示匹配任意字符零个或多个,0
表示后面跟着一个空格和数字 0。
执行上述命令后,会输出当前目录下的所有空目录。例如,输出如下所示:
drwxr-xr-x 2 user user 6 Dec 19 10:36 empty_dir
drwxr-xr-x 2 user user 6 Dec 19 10:36 empty_dir2
以上便是在 Linux 中查找空目录的三种方法,您可以根据实际需要进行选择。