Locate: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
|||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
''locate'' basiert auf einem zuvor erstellten Index und ermöglichte eine schnelle Suche nach Dateinamen oder -pfaden | ''locate'' basiert auf einem zuvor erstellten Index und ermöglichte eine schnelle Suche nach Dateinamen oder -pfaden | ||
* 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 | * 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 | ||
* Nicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index | * Nicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index | ||
'''Vorteil''' | '''Vorteil''' | ||
Zeile 17: | Zeile 17: | ||
'''Implementierungen''' | '''Implementierungen''' | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Paket !! Beschreibung | ! Paket !! Beschreibung | ||
|- | |- | ||
| locate || | | locate || | ||
|- | |- | ||
| slocate || | | slocate || | ||
|- | |- | ||
| mlocate || | | mlocate || | ||
|- | |- | ||
| plocate || | | plocate || | ||
|} | |} | ||
* plocate findet alle Dateien auf dem System, die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen | * 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 | * 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 | * 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 | * 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 | * 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 | * 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 | ||
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) | ||
* 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 | * 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) | * 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 | 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 == | ||
Zeile 55: | Zeile 55: | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line> | ||
plocate [OPTION].. | plocate [OPTION].. | ||
* PATTERN.. | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 63: | Zeile 64: | ||
! Unix !! GNU !! Parameter !! Beschreibung | ! Unix !! GNU !! Parameter !! Beschreibung | ||
|- | |- | ||
| || || || | | || || || | ||
|- | |- | ||
|} | |} | ||
Zeile 92: | Zeile 93: | ||
! Datei !! Beschreibung | ! Datei !! Beschreibung | ||
|- | |- | ||
| || | | || | ||
|- | |- | ||
| || | | || | ||
|} | |} | ||
Zeile 100: | Zeile 101: | ||
; LOCATE_PATH | ; LOCATE_PATH | ||
* If given, appended after the list of --database paths (whether an explicit is given or the default is used) | * If given, appended after the list of --database paths (whether an explicit is given or the default is used) | ||
* Colon-delimiting | * Colon-delimiting and character escaping follows the same rules as for --database | ||
<noinclude> | <noinclude> | ||
Zeile 114: | Zeile 115: | ||
=== Dokumentation === | === Dokumentation === | ||
; Man-Page | ; Man-Page | ||
# [https://manpages.debian.org/bookworm/plocate/locate.1.en.html locate(1)] | # [https://manpages.debian.org/bookworm/plocate/locate.1.en.html locate(1)] | ||
Version vom 21. April 2025, 10:26 Uhr
Locate - sucht schnell nach Dateinamen
Beschreibung
locate basiert auf einem zuvor erstellten Index und ermöglichte eine schnelle Suche nach Dateinamen oder -pfaden
- 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
- Nicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index
Vorteil
- Schnelle Suchergebnisse
Nachteil
- Nicht alle Verzeichnisse werden durchsucht
- /tmp, /var/spool, /media
- Index nicht aktuell
Implementierungen
Paket | Beschreibung |
---|---|
locate | |
slocate | |
mlocate | |
plocate |
- 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
Installation
sudo apt install plocate
Aufruf
plocate [OPTION]..
* PATTERN..
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Anwendung
Index aktualisieren
sudo updatedb
siehe updatedb
Nach Dateipfaden suchen
locate doc/fonts
Groß-/Kleinschreibung ignorieren
locate -i Suchbegriff
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Umgebegung
- LOCATE_PATH
- If given, appended after the list of --database paths (whether an explicit is given or the default is used)
- Colon-delimiting and character escaping follows the same rules as for --database
Anhang
Siehe auch
- locate(1)
- plocate-build(8)
- mlocate(1)
- updatedb(8)
Dokumentation
- Man-Page
Links
Projekt
Weblinks