Rem*_*i.b 10 bash performance ls find
我列出了当前目录中的目录.以下是我要比较的两个命令:
ls -F | grep /
find . -type d -depth 1
Run Code Online (Sandbox Code Playgroud)
该ls命令是准瞬时而find命令大约需要10秒.感觉find命令是通过每个子目录的内容,而命令似乎不需要它.
怎么find . -type d -depth 1这么慢?
Eri*_*ouf 20
-depth不要停在单层,你想要-maxdepth的.相反,它告诉find在自身之前处理目录内容,即深度优先搜索.
试试吧
find . -maxdepth 1 -type d
Run Code Online (Sandbox Code Playgroud)
它会找到更多,ls -F | grep /因为它也会搜索"隐藏"文件,而对于我的例子来说,它的速度要快得多(0.091秒与0.1相比).