Zum Inhalt springen

Plocate: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „line>“ durch „line copy>“
 
(30 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
* das auf »posting lists« basiert
Mustersuche
* 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 ist ein [[locate]](1)
Kleiner Index
* Schnelle Suche
* basiert auf [[posting lists]]


plocate findet Dateien auf dem System
; Ersatz für mlocate
* die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen
In vielen Aspekten überlegen
* Auf SSDs und HDDs schnell


Dies geschieht mit Hilfe eines Index
; Index
* der von updatedb(8) erstellt oder (seltener) von einem anderen Index durch plocate-build(8) konvertiert wurde
Indexbasierte Suche
* plocate ist weitgehend argumentkompatibel mit mlocate(1)
[[updatedb]]
* deutlich schneller
* [[plocate-build]](8)
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
 
; 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
; 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 33: 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/bin/plocate'''
/usr
/usr/lib
  /usr/bin
  /usr/lib/systemd/system
  /usr/bin/plocate
  /usr/lib/systemd/system/plocate-updatedb.service
  /usr/lib
  /usr/lib/systemd/system/plocate-updatedb.timer
  /usr/lib/systemd
/usr/sbin
  /usr/lib/systemd/system
  /usr/sbin/plocate-build
  /usr/lib/systemd/system/plocate-updatedb.service
  /usr/sbin/updatedb.plocate
  /usr/lib/systemd/system/plocate-updatedb.timer
/usr/share/doc
  /usr/sbin
  /usr/share/doc/plocate/changelog.Debian.gz
  /usr/sbin/plocate-build
  /usr/share/doc/plocate/copyright
  /usr/sbin/updatedb.plocate
/usr/share/man
  /usr/share
  /usr/share/man/man1/plocate.1.gz
  /usr/share/doc
  /usr/share/man/man5/updatedb.conf.5.gz
  /usr/share/doc/plocate
  /usr/share/man/man8/plocate-build.8.gz
  /usr/share/doc/plocate/changelog.Debian.gz
  /usr/share/man/man8/updatedb.plocate.8.gz
  /usr/share/doc/plocate/copyright
; /var
  /usr/share/man
/var/lib/plocate/CACHEDIR.TAG
  /usr/share/man/man1
  /usr/share/man/man1/plocate.1.gz
  /usr/share/man/man5
  /usr/share/man/man5/updatedb.conf.5.gz
  /usr/share/man/man8
  /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


== 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 95: 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>
Zeile 117: 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 132: 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 ===

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