Zum Inhalt springen

Plocate: Unterschied zwischen den Versionen

Aus Foxwiki
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:
Viel schnelleres locate(1)
'''plocate''' - schnelles [[locate]]
 
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.


== Beschreibung ==
; Findet Dateien
Mustersuche


== plocate ==
; plocate ist ein [[locate]](1)
plocate findet alle Dateien auf dem System, die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen
Kleiner Index
* Dies geschieht mit Hilfe eines Index, der von updatedb(8) erstellt oder (seltener) von einem anderen Index durch plocate-build(8) konvertiert wurde
* Schnelle Suche
* plocate ist weitgehend argumentkompatibel mit mlocate(1), ist aber deutlich schneller
* basiert auf [[posting lists]]
* 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
; Ersatz für mlocate
* Die meisten E/A werden asynchron durchgeführt, aber die Ergebnisse werden synchronisiert, so dass die Ausgabe jedes Mal in der gleichen Reihenfolge erfolgt
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 (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
; 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 ===
<syntaxhighlight lang="bash" highlight="1" line>
[[updatedb]] aktualisiert den Index
sudo updatedb
</syntaxhighlight>
siehe [[updatedb]]


=== 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 ===
; LOCATE_PATH
{| class="wikitable options col1center"
* 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
! Variable !! Beschreibung
* Trennung durch Doppelpunkte und Zeichen-Escape-Sequenzen folgen denselben Regeln wie für --database
|-
| 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/bookworm/plocate/locate.1.en.html locate(1)]
# https://manpages.debian.org/testing/plocate/locate.1.en.html


=== Links ===
=== Links ===
Zeile 95: Zeile 142:
==== Weblinks ====
==== Weblinks ====


{{DEFAULTSORT:locate}}
{{DEFAULTSORT:plocate}}
{{DISPLAYTITLE:locate}}
{{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

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
  • 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. https://manpages.debian.org/testing/plocate/locate.1.en.html

Links

Projekt

Weblinks