Website-Suche

10 nützliche praktische Beispiele für den Befehl „locate“ für Linux-Neulinge


Eine der unangenehmsten Erfahrungen, mit denen die meisten neuen Benutzer der Linux-Plattform normalerweise konfrontiert werden, ist die Unfähigkeit, die einfachste und dennoch effektivere Methode zum Nachschlagen von Dateien auf ihrem System zu finden.

Linux nutzt, wie fast jedes andere Betriebssystem, mehrere Mechanismen, um Suchanfragen für Benutzer zu beantworten. Zwei der beliebtesten Dienstprogramme zur Dateisuche, auf die Benutzer zugreifen können, heißen „Find“ und „Locate“.

Nun ist es wichtig anzumerken, dass beide Suchprozesse sehr gut funktionieren, der Schwerpunkt dieses Artikels jedoch mehr auf dem locate-Dienstprogramm liegt, das das praktischere der beiden ist, da es effizienter arbeitet Möglichkeiten zur schnellen Bearbeitung von Benutzeranfragen.

Das locate-Dienstprogramm funktioniert besser und schneller als sein find-Gegenstück, da „locate“ eine Datenbank durchsucht, anstatt das Dateisystem zu durchsuchen, wenn eine Dateisuche gestartet wird – was „find“ tut. Diese Datenbank enthält Teile und Teile von Dateien und die entsprechenden Pfade auf Ihrem System.

Hier sind zehn einfache Suchbefehle, mit denen Sie die Produktivität Ihres Linux-Rechners steigern können.

1. Verwenden Sie den Befehl „locate“.

Das Auslösen des Befehls „locate“ zur Suche nach einer Datei ist ziemlich einfach und unkompliziert. Sie müssen lediglich Folgendes eingeben:


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. Beschränken Sie Suchanfragen auf eine bestimmte Anzahl

Mit dem Befehl -n können Sie Ihre Suchergebnisse auf eine erforderliche Anzahl beschränken, um Redundanz mit Ihren Suchergebnissen zu vermeiden.

Wenn Sie beispielsweise nur 20 Ergebnisse aus Ihren Abfragen erhalten möchten, können Sie den folgenden Befehl eingeben:


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

Die Ergebnisse zeigen die ersten 20 Dateien, die mit .html enden.

3. Zeigen Sie die Anzahl der übereinstimmenden Einträge an

Wenn Sie die Anzahl aller übereinstimmenden Einträge der Datei „tecmint anzeigen möchten, verwenden Sie den Befehl locate -c.


$ locate -c [tecmint]*

1550

4. Groß- und Kleinschreibung beachtende Lokalisierungsausgaben ignorieren

Standardmäßig ist locate so konfiguriert, dass Abfragen unter Berücksichtigung der Groß- und Kleinschreibung verarbeitet werden, was bedeutet, dass TEXT.TXT Sie auf ein anderes Ergebnis als text.txt verweist .

Damit der Befehl locate die Groß-/Kleinschreibung ignoriert und Ergebnisse für Abfragen in Groß- und Kleinschreibung anzeigt, geben Sie Befehle mit der Option -i ein.


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. Aktualisieren Sie die mlocate-Datenbank

Da der Befehl locate auf einer Datenbank namens mlocate basiert. Die besagte Datenbank muss regelmäßig aktualisiert werden, damit das Befehlsdienstprogramm funktioniert
effizient.

Um die mlocate-Datenbank zu aktualisieren, verwenden Sie ein Dienstprogramm namens updatedb. Es ist zu beachten, dass Sie Superuser-Berechtigungen benötigen, damit dies ordnungsgemäß funktioniert. Es muss also mit Root- oder Sudo-Berechtigungen ausgeführt werden.


sudo updatedb

6. Nur in Ihrem System vorhandene Dateien anzeigen

Wenn Sie über eine aktualisierte mlocate-Datenbank** verfügen, erzeugt der Befehl locate immer noch Ergebnisse von Dateien, deren physische Kopien von Ihrem System gelöscht wurden.

Um zu vermeiden, dass Ergebnisse von Dateien angezeigt werden, die zum Zeitpunkt der Eingabe des Befehls nicht auf Ihrem Computer vorhanden waren, müssen Sie den Befehl locate-e verwenden. Der Prozess durchsucht Ihr System, um die Existenz der gesuchten Datei zu überprüfen, auch wenn sie noch in Ihrer mlocate.db vorhanden ist.


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. Separate Ausgabeeinträge ohne neue Zeile

Das Standardtrennzeichen des Befehls locate ist das Newline-Zeichen (\\n). Wenn Sie jedoch lieber ein anderes Trennzeichen wie ASCII NUL verwenden möchten, können Sie dies mit der Befehlszeilenoption -0 tun.


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. Überprüfen Sie Ihre Locate-Datenbank

Wenn Sie Zweifel am aktuellen Status Ihrer mlocate.db haben, können Sie die Statistiken der Suchdatenbank ganz einfach mit dem Befehl -S anzeigen.


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. Unterdrücken Sie Fehlermeldungen in Locate

Der ständige Versuch, auf Ihre Locate-Datenbank zuzugreifen, führt manchmal zu unnötigen Fehlermeldungen, die besagen, dass Sie nicht über die erforderlichen Berechtigungen verfügen, um Root-Zugriff auf mlocate.db zu haben, da Sie nur ein normaler Benutzer sind und nicht erforderlicher Superuser.

Um diese Meldung vollständig zu beseitigen, verwenden Sie den Befehl -q.


locate "\*.dat" -q*

10. Wählen Sie einen anderen mlocate-Standort

Wenn Sie Abfragen eingeben und nach Ergebnissen suchen, die nicht in der Standarddatenbank mlocate vorhanden sind, und Antworten von einer anderen mlocate.db benötigen, die sich an einer anderen Stelle in Ihrem System befindet, können Sie darauf verweisen Mit dem Befehl -d können Sie den Befehl „locate“ in eine andere mlocate-Datenbank an einem anderen Teil Ihres Systems verschieben.


locate -d <new db path> <filename>

Der Befehl locate scheint eines dieser Dienstprogramme zu sein, das alles, was Sie von ihm verlangen, ohne großen Aufwand erledigt, aber in Wahrheit ist die mlocate.db erforderlich, damit der Prozess seine Effizienz behält muss hin und wieder mit Informationen gefüttert werden. Andernfalls könnte das Programm etwas unbrauchbar werden.