Plocate: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „Viel schnelleres locate(1) plocate ist ein locate(1), das auf »posting lists« basiert und eine viel schnellere Suche in einem viel kleineren Index ermöglicht. Es ist in fast allen Aspekten ein direkter Ersatz für mlocate und ist sowohl auf SSDs als auch auf Nicht-SSDs schnell. == plocate == plocate findet alle Dateien auf dem System, die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen * Dies geschieht mit Hil…“ |
K Textersetzung - „line>“ durch „line copy>“ |
||
(41 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''plocate''' - schnelles [[locate]] | |||
plocate | |||
== Beschreibung == | |||
; Findet Dateien | |||
Mustersuche | |||
; plocate ist ein [[locate]](1) | |||
Kleiner Index | |||
* | * Schnelle Suche | ||
* basiert auf [[posting lists]] | |||
; Ersatz für mlocate | |||
In vielen Aspekten überlegen | |||
* Auf SSDs und HDDs schnell | |||
; Index | |||
Indexbasierte Suche | |||
[[updatedb]] | |||
* [[plocate-build]](8) | |||
; 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 | |||
; Kompatibilität | |||
Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten | |||
; E/A Operationen | |||
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 | * 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 | * 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 | ||
; Teilstrings | |||
Standardmäßig werden Muster als Teilstrings betrachtet, nach denen gesucht wird | 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 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) | ||
Zeile 22: | Zeile 38: | ||
* All dies entspricht dem Verhalten von mlocate(1) | * All dies entspricht dem Verhalten von mlocate(1) | ||
Wie mlocate(1) zeigt plocate alle Dateien an, die für den aufrufenden Benutzer sichtbar sind | ; Sicherheit | ||
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 | |||
== Installation == | == Installation == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo apt install plocate | sudo apt install plocate | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Dateien === | |||
; /etc | |||
/etc/cron.daily/plocate | |||
/etc/updatedb.conf | |||
; /usr | |||
'''/usr/bin/plocate''' | |||
/usr/lib | |||
/usr/lib/systemd/system | |||
/usr/lib/systemd/system/plocate-updatedb.service | |||
/usr/lib/systemd/system/plocate-updatedb.timer | |||
/usr/sbin | |||
/usr/sbin/plocate-build | |||
/usr/sbin/updatedb.plocate | |||
/usr/share/doc | |||
/usr/share/doc/plocate/changelog.Debian.gz | |||
/usr/share/doc/plocate/copyright | |||
/usr/share/man | |||
/usr/share/man/man1/plocate.1.gz | |||
/usr/share/man/man5/updatedb.conf.5.gz | |||
/usr/share/man/man8/plocate-build.8.gz | |||
/usr/share/man/man8/updatedb.plocate.8.gz | |||
; /var | |||
/var/lib/plocate/CACHEDIR.TAG | |||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
plocate [OPTIONEN] PATTERNS | plocate [OPTIONEN] PATTERNS | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Optionen === | === Optionen === | ||
Weitgehend argumentkompatibel mit [[mlocate]] | |||
{| class="wikitable sortable options gnu" | {| class="wikitable sortable options gnu" | ||
|- | |- | ||
Zeile 45: | Zeile 91: | ||
== Anwendung == | == Anwendung == | ||
=== Index aktualisieren === | === Index aktualisieren === | ||
[[updatedb]] aktualisiert den Index | |||
=== Nach Dateipfaden suchen === | === Nach Dateipfaden suchen === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
locate doc/fonts | locate doc/fonts | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Groß-/Kleinschreibung ignorieren === | === Groß-/Kleinschreibung ignorieren === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
locate -i Suchbegriff | locate -i Suchbegriff | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 73: | Zeile 116: | ||
=== Umgebung === | === Umgebung === | ||
{| class="wikitable options col1center" | |||
|- | |||
! Variable !! Beschreibung | |||
|- | |||
| 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 | |||
|} | |||
<noinclude> | <noinclude> | ||
Zeile 88: | Zeile 135: | ||
=== Dokumentation === | === Dokumentation === | ||
; Man-Page | ; Man-Page | ||
# | # https://manpages.debian.org/testing/plocate/locate.1.en.html | ||
=== Links === | === Links === | ||
Zeile 95: | Zeile 142: | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
{{DEFAULTSORT: | {{DEFAULTSORT:plocate}} | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:plocate}} | ||
[[Kategorie:Linux/Suchen]] | [[Kategorie:Linux/Suchen]] |
Aktuelle Version vom 11. Mai 2025, 13:39 Uhr
plocate - schnelles locate
Beschreibung
- Findet Dateien
Mustersuche
- plocate ist ein locate(1)
Kleiner Index
- Schnelle Suche
- basiert auf posting lists
- Ersatz für mlocate
In vielen Aspekten überlegen
- Auf SSDs und HDDs schnell
- Index
Indexbasierte Suche updatedb
- 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
- Kompatibilität
Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten
- E/A Operationen
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
- Teilstrings
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)
- Sicherheit
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
Installation
sudo apt install plocate
Dateien
- /etc
/etc/cron.daily/plocate /etc/updatedb.conf
- /usr
/usr/bin/plocate /usr/lib /usr/lib/systemd/system /usr/lib/systemd/system/plocate-updatedb.service /usr/lib/systemd/system/plocate-updatedb.timer /usr/sbin /usr/sbin/plocate-build /usr/sbin/updatedb.plocate /usr/share/doc /usr/share/doc/plocate/changelog.Debian.gz /usr/share/doc/plocate/copyright /usr/share/man /usr/share/man/man1/plocate.1.gz /usr/share/man/man5/updatedb.conf.5.gz /usr/share/man/man8/plocate-build.8.gz /usr/share/man/man8/updatedb.plocate.8.gz
- /var
/var/lib/plocate/CACHEDIR.TAG
Aufruf
plocate [OPTIONEN] PATTERNS
Optionen
Weitgehend argumentkompatibel mit mlocate
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Anwendung
Index aktualisieren
updatedb aktualisiert den Index
Nach Dateipfaden suchen
locate doc/fonts
Groß-/Kleinschreibung ignorieren
locate -i Suchbegriff
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Umgebung
Variable | Beschreibung |
---|---|
LOCATE_PATH | Wenn angegeben, wird es nach der Liste der --database-Pfade angehängt
Trennung durch Doppelpunkte und Zeichen-Escape-Sequenzen folgen denselben Regeln wie für --database |
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks