Locate: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 2: Zeile 2:


= Beschreibung =
= Beschreibung =
* plocate findet alle Dateien auf dem System, die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen.
* Dies geschieht mit Hilfe eines Index, der von updatedb(8) erstellt oder (seltener) von einem anderen Index durch plocate-build(8) konvertiert wurde.
* plocate ist weitgehend argumentkompatibel mit mlocate(1), ist aber deutlich schneller.
* Insbesondere muss es selten seine gesamte Datenbank durchsuchen, es sei denn, das Muster ist sehr kurz (weniger als drei Bytes) oder Sie wollen nach einem regulären Ausdruck suchen.
* Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten.
* Die meisten E/A werden asynchron durchgeführt, aber die Ergebnisse werden synchronisiert, so dass die Ausgabe jedes Mal in der gleichen Reihenfolge erfolgt.
* Wenn mehrere Suchmuster angegeben werden, sucht plocate nach Dateien, die alle diese Muster erfüllen.
* Dies ist die Hauptinkompatibilität zu mlocate(1), das nach Dateien sucht, die auf ein oder mehrere Muster passen, es sei denn, die Option -A wird angegeben.
Standardmäßig werden Muster als Teilstrings betrachtet, nach denen gesucht wird.
* Wenn mindestens ein nicht-ausgeschriebenes globbing-Metacharakter (*, ? oder []) angegeben wird, wird dieses Muster stattdessen als glob-Muster betrachtet (was bedeutet, dass es mit * beginnen und enden muss, damit eine Teilzeichenkette übereinstimmt).
* Wenn --regexp angegeben wird, werden die Muster stattdessen als (nicht verankerte) POSIX-Basisausdrücke betrachtet, und wenn --regex angegeben wird, werden die Muster als erweiterte reguläre Ausdrücke von POSIX betrachtet. 
* All dies entspricht dem Verhalten von mlocate(1).
Wie mlocate(1) zeigt plocate alle Dateien an, die für den aufrufenden Benutzer sichtbar sind (da er Lese- und Ausführungsrechte auf allen übergeordneten Verzeichnissen hat), und keine, die es nicht sind, indem es mit gesetztem setgid-Bit läuft, um auf den Index zuzugreifen (der als root erstellt wird), aber indem es die Sichtbarkeit als aufrufender Benutzer testet.
* sucht nach Datei- oder Pfadnamen in einem zuvor erstellten Index.  
* sucht nach Datei- oder Pfadnamen in einem zuvor erstellten Index.  
* plocate - find files by name, quicklyNicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index.
* plocate - find files by name, quicklyNicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index.

Version vom 27. März 2022, 13:09 Uhr

locate sucht schnell nach Dateinamen

Beschreibung

  • plocate findet alle Dateien auf dem System, die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen.
  • Dies geschieht mit Hilfe eines Index, der von updatedb(8) erstellt oder (seltener) von einem anderen Index durch plocate-build(8) konvertiert wurde.
  • plocate ist weitgehend argumentkompatibel mit mlocate(1), ist aber deutlich schneller.
  • Insbesondere muss es selten seine gesamte Datenbank durchsuchen, es sei denn, das Muster ist sehr kurz (weniger als drei Bytes) oder Sie wollen nach einem regulären Ausdruck suchen.
  • Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten.
  • Die meisten E/A werden asynchron durchgeführt, aber die Ergebnisse werden synchronisiert, so dass die Ausgabe jedes Mal in der gleichen Reihenfolge erfolgt.
  • Wenn mehrere Suchmuster angegeben werden, sucht plocate nach Dateien, die alle diese Muster erfüllen.
  • Dies ist die Hauptinkompatibilität zu mlocate(1), das nach Dateien sucht, die auf ein oder mehrere Muster passen, es sei denn, die Option -A wird angegeben.

Standardmäßig werden Muster als Teilstrings betrachtet, nach denen gesucht wird.

  • Wenn mindestens ein nicht-ausgeschriebenes globbing-Metacharakter (*, ? oder []) angegeben wird, wird dieses Muster stattdessen als glob-Muster betrachtet (was bedeutet, dass es mit * beginnen und enden muss, damit eine Teilzeichenkette übereinstimmt).
  • Wenn --regexp angegeben wird, werden die Muster stattdessen als (nicht verankerte) POSIX-Basisausdrücke betrachtet, und wenn --regex angegeben wird, werden die Muster als erweiterte reguläre Ausdrücke von POSIX betrachtet.
  • All dies entspricht dem Verhalten von mlocate(1).

Wie mlocate(1) zeigt plocate alle Dateien an, die für den aufrufenden Benutzer sichtbar sind (da er Lese- und Ausführungsrechte auf allen übergeordneten Verzeichnissen hat), und keine, die es nicht sind, indem es mit gesetztem setgid-Bit läuft, um auf den Index zuzugreifen (der als root erstellt wird), aber indem es die Sichtbarkeit als aufrufender Benutzer testet.


  • sucht nach Datei- oder Pfadnamen in einem zuvor erstellten Index.
  • plocate - find files by name, quicklyNicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index.
  • 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.

Vorteil

  • Schnelle Suchergebnisse

Nachteil

  • Nicht alle Verzeichnisse werden durchsucht
    • /tmp, /var/spool, /media
  • Index nicht aktuell

Implementierungen

Paket Beschreibung
locate
slocate
mlocate
plocate

Installation

# apt install plocate

Syntax

$ plocate [OPTION]...  PATTERN...

Parameter

Optionen

Konfiguration

Index aktualisieren

# updatedb

siehe Linux:Befehl:updatedb

Dateien

Anwendungen

Nach Dateipfaden suchen

$ locate doc/fonts

Groß-/Kleinschreibung ignorieren

$ locate -i Suchbegriff

Dokumentation

Man-Pages

  1. locate(1)
  2. plocate-build(8)
  3. mlocate(1)
  4. updatedb(8)

Info-Pages

Links

Intern

  1. Linux:Befehl:updatedb

Weblinks

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5