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 sind, ist die Unfähigkeit, die einfachsten und dennoch effektivsten Mittel zum Nachschlagen von Dateien auf ihrem System zu finden.
Linux verwendet, 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 Suchen und Lokalisieren.
Nun ist es wichtig zu beachten, dass beide Suchprozesse sehr gut funktionieren, aber nichtsdestotrotz wird das Zentrum dieses Artikels mehr auf dem Ortungsprogramm liegen, das das bequemere der beiden ist, da es effizientere Methoden verwendet, um die von den Benutzern eingegebenen Abfragen schnell zu verarbeiten.
Das Lokalisierungsprogramm funktioniert besser und schneller als sein Pendant zum Suchen, da das Lokalisieren nicht das Dateisystem durchsucht, wenn eine Dateisuche gestartet wird – was Something find tut – sondern eine Datenbank durchsucht. Diese Datenbank enthält Bits und Teile von Dateien und die entsprechenden Pfade auf Ihrem System.
Hier sind zehn einfache Ortungsbefehle, mit denen Sie mit Ihrem Linux-Rechner produktiver werden können.
1. Verwenden des Befehls locate
Das Auslösen des Befehls locate zur Suche nach einer Datei ist ziemlich einfach und unkompliziert. Alles, was Sie tun müssen, ist Folgendes einzugeben:
$ 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
Sie können Ihre Suchergebnisse auf eine erforderliche Anzahl beschränken, um Redundanzen mit Ihren Suchergebnissen zu vermeiden, indem Sie den Befehl -n verwenden.
Wenn Sie z. B. 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 an, 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. Ignorieren Sie Groß- und Kleinschreibung und lokalisieren Sie Ausgaben
Standardmäßig ist locate so konfiguriert, dass Abfragen unter Berücksichtigung der Groß-/Kleinschreibung verarbeitet werden, was bedeutet, dass TEXT.TXT Sie auf ein anderes Ergebnis als text.txt verweisen.
Damit der Befehl locate die Groß-/Kleinschreibung ignoriert und Ergebnisse für Abfragen in Groß- und Kleinbuchstaben angezeigt werden, 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 effizient arbeitet
.
Um die mlocate-Datenbank zu aktualisieren, verwenden Sie ein Dienstprogramm namens updatedb. Es sollte beachtet werden, dass Sie Superuser-Privilegien benötigen, damit dies ordnungsgemäß funktioniert, d.h. es muss als root- oder sudo-Privilegien ausgeführt werden.
sudo updatedb
6. Zeigen Sie nur Dateien an, die in Ihrem System vorhanden sind
Wenn Sie über eine aktualisierte mlocate database** verfügen, erzeugt der Befehl locate weiterhin Ergebnisse von Dateien, deren physische Kopien von Ihrem System gelöscht wurden.
Um zu vermeiden, dass Ergebnisse von Dateien angezeigt werden, die zum Zeitpunkt des Eingebens des Befehls nicht auf Ihrem Computer vorhanden sind, müssen Sie den Befehl locate-e verwenden. Der Prozess durchsucht Ihr System, um das Vorhandensein der gesuchten Datei zu überprüfen, auch wenn sie noch in Ihrem mlocate.db vorhanden ist.
$ locate -i -e *text.txt*
/home/tecmint/text.txt
7. Getrennte Ausgabeeinträge ohne Zeilenumbruch
Das Standardtrennzeichen des Befehls locate ist der Zeilenumbruch (\\n). Wenn Sie jedoch lieber ein anderes Trennzeichen wie die 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 zum Lokalisieren der Datenbank 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. Fehlermeldungen in Locate unterdrücken
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 die mlocate.db zu haben, da Sie nur ein normaler Benutzer und nicht der erforderliche Superuser sind.
Um diese Meldung vollständig zu entfernen, verwenden Sie den Befehl -q.
locate "\*.dat" -q*
10. Wählen Sie einen anderen Mlocation-Standort
Wenn Sie Abfragen eingeben, die nach Ergebnissen suchen, die nicht in der standardmäßigen mlocate-Datenbank vorhanden sind, und Antworten von einem anderen mlocate.db an einer anderen Stelle in Ihrem System erhalten möchten, können Sie den locate-Befehl mit dem Befehl -d auf eine andere mlocate-Datenbank an einem anderen Ort Ihres Systems verweisen.
locate -d <new db path> <filename>
locate command mag wie eines dieser Dienstprogramme erscheinen, das alles, was Sie von ihm verlangt haben, ohne viel Hektik tut, aber in Wahrheit muss das mlocate.db hin und wieder mit Informationen gefüttert werden, damit der Prozess seine Effizienz behält. Andernfalls kann das Programm etwas unbrauchbar werden.