为什么 `find -depth 1` 列出目录这么慢?
Why is `find -depth 1` so slow to list directories?
我正在列出当前目录中的目录。这是我比较的两个命令:
ls -F | grep /
find . -type d -depth 1
ls
命令是准瞬时的,而find
命令大约需要10秒。感觉find
命令是遍历各个子目录的内容,而命令似乎不需要。
find . -type d -depth 1
怎么这么慢?
-depth
不会停留在单层,您需要 -maxdepth
。相反,它告诉 find
在它自己之前处理目录内容,即深度优先搜索。
试试看
find . -maxdepth 1 -type d
它会找到比 ls -F | grep /
多的文件,因为它还会搜索 "hidden" 个文件,对于我的示例来说,它的速度要快得多(0.091 秒比 0.1 秒)。
我正在列出当前目录中的目录。这是我比较的两个命令:
ls -F | grep /
find . -type d -depth 1
ls
命令是准瞬时的,而find
命令大约需要10秒。感觉find
命令是遍历各个子目录的内容,而命令似乎不需要。
find . -type d -depth 1
怎么这么慢?
-depth
不会停留在单层,您需要 -maxdepth
。相反,它告诉 find
在它自己之前处理目录内容,即深度优先搜索。
试试看
find . -maxdepth 1 -type d
它会找到比 ls -F | grep /
多的文件,因为它还会搜索 "hidden" 个文件,对于我的示例来说,它的速度要快得多(0.091 秒比 0.1 秒)。