Zum Inhalt springen

Locate: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „line>“ durch „line copy>“
 
(117 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''locate''' ist ein Programm, mit dessen Hilfe man auf der Kommandozeile nach Dateien suchen kann.
'''locate''' - schnelle Suche nach Dateinamen


= Beschreibung =
== Beschreibung ==
* Hierbei wird aber nicht das gesamte Datenverzeichnis durchsucht (wie bei find), sondern eine Datenbank, die zuvor angelegt wurde.
; Index basiert
* 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.
Zuvor erstellter Index
* Der Vorteil diese Methode besteht darin, dass das Durchsuchen der Datenbank sehr schnell geht, und die Suchergebnisse praktisch sofort zur Verfügung stehen.
* Nicht das Dateisystem (wie bei [[find]])
* 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.
* Schnelle Suche nach Dateinamen oder -pfaden
* Diese wird regelmäßig aktualisiert


= Installation =
; Vorteil
Locate gibt es in verschiedenen Varianten. Empfohlen wird das Paket
* Schnelle Suchergebnisse


# '''apt install mlocate'''
; Nachteil
* Index evtl. nicht aktuell
* Nicht alle Verzeichnisse werden durchsucht
** /tmp, /var/spool, /media


= Aktualisierung der Datenbank  =
=== Implementierungen ===
* Aktuelle Änderungen am Dateibestand werden durch locate nicht gefunden, da ja nur eine Datenbank durchsucht wird.
{| class="wikitable options big"
* 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.
|-
# '''updatedb'''
! Paket !! Beschreibung
|-
| [[locate]] || findutils/locate
|-
| [[mlocate]] ||  
|-
| [[plocate]] || Schnelleres [[mlocate]]
|}


Weitere Benutzereingriffe sind normalerweise nicht notwendig, da mittels /etc/cron.daily/mlocate eine automatische Aktualisierung einmal pro Tag stattfindet.
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo apt install plocate
</syntaxhighlight>


= Syntax =
== Aufruf ==
$ '''locate Suchbegriff'''
<syntaxhighlight lang="bash" highlight="1" line copy>
plocate [OPTIONEN] PATTERNS
</syntaxhighlight>


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


= Anwendungen =
== Anwendung ==
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.
=== Index aktualisieren ===
$ '''locate -i Suchbegriff'''
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo updatedb
</syntaxhighlight>
siehe [[updatedb]]


= Verzeichnisse aus der Datenbank ausschließen  =
=== Nach Dateipfaden suchen ===
* 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.
<syntaxhighlight lang="bash" highlight="1" line copy>
* Ein gutes Beispiel hierfür ist ein Backup-Verzeichnis.
locate doc/fonts
* 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.
</syntaxhighlight>


Ist das Verzeichnis z.B. '''/mnt/backup''', so lautet die entsprechende Zeile (sofern sonst nichts zur Vorgabe hinzugefügt wurde):
=== Groß-/Kleinschreibung ignorieren ===
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /mnt/backup"
<syntaxhighlight lang="bash" highlight="1" line copy>
locate -i Suchbegriff
</syntaxhighlight>


Nach der nächsten Aktualisierung des Indexes findet locate dann keine Dateien und Ordner unterhalb dieser Verzeichnisse mehr.
== Konfiguration ==


= Links =
=== Dateien ===
== Dateien ==
{| class="wikitable options"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}


== Man-Pages ==
=== 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


== Intern ==
<noinclude>
# [[Linux:Befehl:updatedb]]


== Weblinks ==
== Anhang ==
# https://wiki.ubuntuusers.de/locate
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* [[mlocate]](1)
* [[updatedb]](8)


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

Aktuelle Version vom 11. Mai 2025, 13:45 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