Verwirrung hinsichtlich der Langsamkeit der rekursiven Suche

Verwirrung hinsichtlich der Langsamkeit der rekursiven Suche

Die Rückgabe dieses Befehls dauert länger als 2 Minuten:

find . -type d -wholename ./dev-abcd/efgh

Ich glaube, es gibt viele Unterverzeichnisse. Ich habe das mit dem folgenden Befehl überprüft, der fast sofort ein Ergebnis lieferte:

 ls -lR | grep "^d" | wc -l
    2002

Wenn ich eine kleine Variation dieses Befehls vornehme, um nach einem ähnlichen Verzeichnis zu suchen find, wird der Befehl ebenfalls nahezu sofort zurückgegeben.

ls -lR | grep "^d" | grep "efgh"

Das lässt mich vermuten, dass es viele versteckte Unterverzeichnisse geben muss. Aber ich sehe nicht viele:

ls -ap | egrep "^\..*/$" | wc -l
       3

Warum ist finddie Ausführung so langsam, dass es 2 Minuten dauert, ein Ergebnis zurückzugeben, das innerhalb von Sekunden zurückgegeben wird ls?grep

verwandte Informationen