Wie sucht man unter Linux nach Dateien?

Wie sucht man unter Linux nach Dateien?

Kennen Sie eine gute Möglichkeit, eine Datei oder einen Inhalt rekursiv nach Namen zu finden, ähnlich der MS-Windows-Funktionssuche unter Linux? Ich vermute, dass find . | grep test.htmldas nicht die beste ist. Danke für jede Antwort.

Beispielsweise find . | grep terms.htmlliefert die Ausführung das erwartete Ergebnis, während locate terms.htmldies nicht der Fall ist, obwohl Locate eine aktualisierte Datenbank erhält. Vielleicht liegt es daran, dass sich die Datei auf einem USB-Stick befindet?

Antwort1

Der Befehl lautet „find“, und zwar so:

 find . -iname '*hellofiles*'

Sie sagen, „find ·location· -iname“ bedeutet, dass die Groß-/Kleinschreibung nicht beachtet wird und dass „“ ein regulärer Ausdruck ist, wenn Sie möchten.

find /home/user -iname '*zip' findet alle Zip-Dateien in /home/user

Wenn Sie eine schnellere Suche wünschen, können Sie Locate verwenden. Es gibt ein Dienstprogramm, das die Festplatte regelmäßig scannt, z. B. jede Woche oder jeden Tag, je nachdem, wie es eingerichtet ist.

locate myfile

und es wird in der Datenbank nachgesehen, ob updatedb myfile irgendwo gesehen hat.

Antwort2

findverfügt über eine Reihe von Optionen, mit denen Dateien nach Namen, regulären Ausdrücken oder sogar komplexeren Kriterien wie Größe oder Eigentümerschaft gefunden werden können. Beispiel:

find . -iname '*.txt'

Siehe auch den Beispielabschnitt in der verlinkten Manualpage.

Allerdings findhat es den entscheidenden Nachteil, dass bei jedem Aufruf das Dateisystem durchsucht wird.locateDas Dienstprogramm verwendet in seinen vielen Variationen dagegen eine regelmäßig aktualisierte Datenbank der Dateien in Ihrem System.

Antwort3

Im Falle von Paketen: dpkg -L Paketname

oder wenn Sie wissen, dass es sich in einem bestimmten Ordner befindet, fügen Sie die Verwendung von grep hinzu, etwa:

dpkg -L Paketname | grep Ordnername

Sie haben beispielsweise gerade Chromium installiert und möchten wissen, wo sich der Bin befindet

dpkg -L Chromium-Browser | grep bin

Antwort4

find . -name test.htmloder Sie können auch Platzhalter verwenden:find . -name \*test.html

verwandte Informationen