Zum Inhalt springen

Plocate: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „line>“ durch „line copy>“
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''plocate''' - Schnelleres [[locate]]
'''plocate''' - schnelles [[locate]]


== Beschreibung ==
== Beschreibung ==
plocate ist ein [[locate]](1)
; Findet Dateien
Mustersuche
 
; plocate ist ein [[locate]](1)
Kleiner Index
* Schnelle Suche
* basiert auf [[posting lists]]
* basiert auf [[posting lists]]
* Kleiner Index
* Schnelle Suche


; Ersatz für mlocate
; Ersatz für mlocate
* In vielen Aspekten überlegen
In vielen Aspekten überlegen
* Auf SSDs und HDDs schnell
* Auf SSDs und HDDs schnell
; Findet Dateien
Mustersuche


; Index
; Index
Indexbasierte Suche
Indexbasierte Suche
* [[updatedb]]
[[updatedb]]
* [[plocate-build]](8)
* [[plocate-build]](8)
== Optionen ==
Weitgehend argumentkompatibel mit [[mlocate]]


; Deutlich schneller
; Deutlich schneller
* Insbesondere muss es selten seine gesamte Datenbank durchsuchen
Insbesondere muss es selten seine gesamte Datenbank durchsuchen
* es sei denn, das Muster ist sehr kurz (weniger als drei Bytes)
* es sei denn, das Muster ist sehr kurz (weniger als drei Bytes)
* oder Sie wollen nach einem regulären Ausdruck suchen
* oder Sie wollen nach einem regulären Ausdruck suchen


; Kompatibilität
; Kompatibilität
* Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten
Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten


; E/A Operationen
; 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
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
Zeile 42: Zeile 39:


; Sicherheit
; 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
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 ===
=== Dateien ===
/etc
; /etc
/etc/cron.daily
  /etc/cron.daily/plocate
  /etc/cron.daily/plocate
  /etc/updatedb.conf
  /etc/updatedb.conf
 
; /usr
/usr
  '''/usr/bin/plocate'''
/usr/bin
  /usr/bin/plocate
  /usr/lib
  /usr/lib
/usr/lib/systemd
  /usr/lib/systemd/system
/usr/lib/systemd/system
  /usr/lib/systemd/system/plocate-updatedb.service
/usr/lib/systemd/system/plocate-updatedb.service
  /usr/lib/systemd/system/plocate-updatedb.timer
/usr/lib/systemd/system/plocate-updatedb.timer
  /usr/sbin
  /usr/sbin
/usr/sbin/plocate-build
  /usr/sbin/plocate-build
/usr/sbin/updatedb.plocate
  /usr/sbin/updatedb.plocate
/usr/share
  /usr/share/doc
  /usr/share/doc
/usr/share/doc/plocate
  /usr/share/doc/plocate/changelog.Debian.gz
/usr/share/doc/plocate/changelog.Debian.gz
  /usr/share/doc/plocate/copyright
/usr/share/doc/plocate/copyright
  /usr/share/man
  /usr/share/man
/usr/share/man/man1
  /usr/share/man/man1/plocate.1.gz
/usr/share/man/man1/plocate.1.gz
  /usr/share/man/man5/updatedb.conf.5.gz
/usr/share/man/man5
  /usr/share/man/man8/plocate-build.8.gz
/usr/share/man/man5/updatedb.conf.5.gz
  /usr/share/man/man8/updatedb.plocate.8.gz
/usr/share/man/man8
; /var
/usr/share/man/man8/plocate-build.8.gz
/usr/share/man/man8/updatedb.plocate.8.gz
 
/var
/var/lib
/var/lib/plocate
  /var/lib/plocate/CACHEDIR.TAG
  /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 104: Zeile 94:


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

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