Zum Inhalt springen

Locate: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  arping » logtop » Backup » newgrp » locate
PatrickHunecke (Diskussion | Beiträge)
K Textersetzung - „Linuxbefehl:“ durch „Linux:Befehl:“
Keine Bearbeitungszusammenfassung
 
(125 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== <big> locate </big> ==
'''locate''' - schnelle Suche nach Dateinamen


locate ist ein Programm, mit dessen Hilfe man auf der Kommandozeile nach Dateien suchen kann. Hierbei wird aber nicht das gesamte Datenverzeichnis durchsucht (wie bei find), sondern eine Datenbank, die zuvor angelegt wurde. Diese wird regelmäßig aktualisiert, damit locate immer die korrekten Orte anzeigt, an denen sich die Dateien befinden und somit neue Dateien und Datenbewegungen erfasst werden.
== Beschreibung ==
; Index basiert
Zuvor erstellter Index
* Nicht das Dateisystem (wie bei [[find]])
* Schnelle Suche nach Dateinamen oder -pfaden
* Diese wird regelmäßig aktualisiert


Der Vorteil diese Methode besteht darin, dass das Durchsuchen der Datenbank sehr schnell geht, und die Suchergebnisse praktisch sofort zur Verfügung stehen. Allerdings muss man beachten, dass die Verzeichnisse (und deren Unterverzeichnisse) /tmp, /var/spool und /media von Haus aus nicht indexiert werden, da sich die Inhalte dieser Verzeichnisse permanent ändern.
; Vorteil
* Schnelle Suchergebnisse


== <big> Installation </big> ==
; Nachteil
* Index evtl. nicht aktuell
* Nicht alle Verzeichnisse werden durchsucht
** /tmp, /var/spool, /media


Locate gibt es in verschiedenen Varianten. Empfohlen wird das Paket
=== Implementierungen ===
{| class="wikitable options big"
|-
! Paket !! Beschreibung
|-
| [[locate]] || findutils/locate
|-
| [[mlocate]] ||
|-
| [[plocate]] || Schnelleres [[mlocate]]
|}


*mlocate
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line>
sudo apt install plocate
</syntaxhighlight>


Das bei einer Standard-Installation von Ubuntu vorinstalliert ist. Falls das Paket nicht installiert ist, kann man dies mit der Paketverwaltung nachholen.
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
plocate [OPTIONEN] PATTERNS
</syntaxhighlight>


=== Optionen ===
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}


== <big> Aktualisierung der Datenbank </big> ==
== Anwendung ==
=== Index aktualisieren ===
<syntaxhighlight lang="bash" highlight="1" line>
sudo updatedb
</syntaxhighlight>
siehe [[updatedb]]


Aktuelle Änderungen am Dateibestand werden durch locate nicht gefunden, da ja nur eine Datenbank durchsucht wird. Hat man also erst kürzlich Daten manipuliert und möchte sie wiederfinden, so verwendet man entweder [[Linux:Befehl:find|find]] oder man stößt die Aktualisierung der Datenbank von Hand an und wartet je nach Größe des Dateisystems ein bisschen. Dies geht mit folgendem Befehl:
=== Nach Dateipfaden suchen ===
sudo updatedb
<syntaxhighlight lang="bash" highlight="1" line>
Weitere Benutzereingriffe sind normalerweise nicht notwendig, da mittels /etc/cron.daily/mlocate eine automatische Aktualisierung einmal pro Tag stattfindet.
locate doc/fonts
</syntaxhighlight>


== <big> Benutzung </big> ==
=== Groß-/Kleinschreibung ignorieren ===
<syntaxhighlight lang="bash" highlight="1" line>
locate -i Suchbegriff
</syntaxhighlight>


Die Benutzung von "locate" ist recht einfach, man ruft in einem Terminal den Befehl zusammen mit dem Suchbegriff auf.
== Konfiguration ==
locate Suchbegriff
Zu beachten ist hierbei, dass zwischen Groß- und Kleinschreibung unterschieden wird. Dies kann mit dem Schalter -i übergangen werden, sodass keine Unterscheidung mehr gemacht wird.
locate -i Suchbegriff
Weitere Optionen können der [https://wiki.ubuntuusers.de/man/ Manpage] entnommen werden.


== <big> Verzeichnisse aus der Datenbank ausschließen </big> ==
=== Dateien ===
{| class="wikitable options"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}


Sollen noch weitere Verzeichnisse aus dem Index ausgeschlossen werden (z.B. ein Backup-Verzeichnis), so muss die Datei '''/etc/updatedb.conf''' mit Root-Rechten bearbeitet werden. Die von der Indexierung auszuschließenden Verzeichnisse müssen der Variablen PRUNEPATHS angehängt werden.
=== Umgebung ===
; LOCATE_PATH
* Wenn angegeben, wird es nach der Liste der --database-Pfade angehängt
** unabhängig davon, ob ein expliziter Wert angegeben wurde oder der Standardwert verwendet wird
* Trennung durch Doppelpunkte und Zeichen-Escape-Sequenzen folgen denselben Regeln wie für --database


Ein gutes Beispiel hierfür ist ein Backup-Verzeichnis. Zum einen wird (z.B. bei der Nutzung von [https://wiki.ubuntuusers.de/Back_In_Time/ Back In Time]) jede Datei sonst mehrmals aufgelistet (das Original und jedes Backup), zum anderen muss sonst beim Erstellen der Datenbank das ganze Backup-Verzeichnis mit durchsucht werden, was Zeit kostet und CPU- sowie Festplattenlast erzeugt. Ist das Verzeichnis z.B. '''/mnt/backup''', so lautet die entsprechende Zeile (sofern sonst nichts zur Vorgabe hinzugefügt wurde):
<noinclude>
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /mnt/backup"
Nach der nächsten Aktualisierung des Indexes findet locate dann keine Dateien und Ordner unterhalb dieser Verzeichnisse mehr.


== <big> Quellen </big> ==
== Anhang ==
[https://wiki.ubuntuusers.de/locate/ Wiki Ubuntu Users]
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* [[mlocate]](1)
* [[updatedb]](8)


[[Category:Suchen]]
=== Dokumentation ===
[[Category:Linuxbefehle]]
; Man-Page
[[Category:Software-Verwaltung]]
# [https://manpages.debian.org/bookworm/plocate/locate.1.en.html locate(1)]
[[Category:Linux]]
 
=== Links ===
==== Projekt ====
 
==== Weblinks ====
 
{{DEFAULTSORT:locate}}
{{DISPLAYTITLE:locate}}
 
[[Kategorie:Linux/Suchen]]
[[Kategorie:Linux/Befehl]]
 
</noinclude>

Aktuelle Version vom 29. April 2025, 12:02 Uhr

locate - schnelle Suche nach Dateinamen

Beschreibung

Index basiert

Zuvor erstellter Index

  • Nicht das Dateisystem (wie bei find)
  • Schnelle Suche nach Dateinamen oder -pfaden
  • Diese wird regelmäßig aktualisiert
Vorteil
  • Schnelle Suchergebnisse
Nachteil
  • Index evtl. nicht aktuell
  • Nicht alle Verzeichnisse werden durchsucht
    • /tmp, /var/spool, /media

Implementierungen

Paket Beschreibung
locate findutils/locate
mlocate
plocate Schnelleres mlocate

Installation

sudo apt install plocate

Aufruf

plocate [OPTIONEN] PATTERNS

Optionen

Unix GNU Parameter Beschreibung

Anwendung

Index aktualisieren

sudo updatedb

siehe updatedb

Nach Dateipfaden suchen

locate doc/fonts

Groß-/Kleinschreibung ignorieren

locate -i Suchbegriff

Konfiguration

Dateien

Datei Beschreibung

Umgebung

LOCATE_PATH
  • Wenn angegeben, wird es nach der Liste der --database-Pfade angehängt
    • unabhängig davon, ob ein expliziter Wert angegeben wurde oder der Standardwert verwendet wird
  • Trennung durch Doppelpunkte und Zeichen-Escape-Sequenzen folgen denselben Regeln wie für --database


Anhang

Siehe auch

Dokumentation

Man-Page
  1. locate(1)

Links

Projekt

Weblinks