我列出了当前目录中的目录。以下是我要比较的两个命令:
ls -F | grep /
find . -type d -depth 1
ls
命令是准瞬时的,而find
命令大约需要10秒。感觉就像find
命令正在浏览每个子目录的内容,而命令似乎并不需要它。
find . -type d -depth 1
做什么这么慢?
答案 0 :(得分:19)
-depth
不会停留在单个图层,您需要-maxdepth
。相反,它告诉find
在自身之前处理目录内容,即深度优先搜索。
尝试改为
find . -maxdepth 1 -type d
它会找到超过ls -F | grep /
的内容,因为它还会搜索“隐藏”文件,而对于我的示例,它的速度要快一些(0.091秒与0.1相比)。