Zum Inhalt springen

Locate: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „line>“ durch „line copy>“
 
(74 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''locate''' sucht schnell nach Dateinamen
'''locate''' - schnelle Suche nach Dateinamen


= Beschreibung =
== Beschreibung ==
* plocate findet alle Dateien auf dem System, die dem angegebenen Muster (oder allen Mustern, wenn mehrere angegeben sind) entsprechen.
; Index basiert
* Dies geschieht mit Hilfe eines Index, der von updatedb(8) erstellt oder (seltener) von einem anderen Index durch plocate-build(8) konvertiert wurde.
Zuvor erstellter Index
* Nicht das Dateisystem (wie bei [[find]])
* Schnelle Suche nach Dateinamen oder -pfaden
* Diese wird regelmäßig aktualisiert


* plocate ist weitgehend argumentkompatibel mit mlocate(1), ist aber deutlich schneller.
; Vorteil
 
* 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.
 
 
* sucht nach Datei- oder Pfadnamen in einem zuvor erstellten Index.
* plocate - find files by name, quicklyNicht das Dateisystem wird durchsucht (wie bei find), sondern ein zuvor erstellter Index.
* 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.
 
'''Vorteil'''
* Schnelle Suchergebnisse
* Schnelle Suchergebnisse


'''Nachteil'''
; Nachteil
* Nicht alle Verzeichnisse werden durchsucht
* Index evtl. nicht aktuell
* Nicht alle Verzeichnisse werden durchsucht  
** /tmp, /var/spool, /media
** /tmp, /var/spool, /media
* Index nicht aktuell


'''Implementierungen'''
=== Implementierungen ===
{| class="wikitable sortable"  
{| class="wikitable options big"
|-  
|-
! Paket !! Beschreibung  
! Paket !! Beschreibung
|-  
|-
| locate ||
| [[locate]] || findutils/locate
|-  
|-
| slocate ||
| [[mlocate]] ||  
|-
|-
| mlocate ||
| [[plocate]] || Schnelleres [[mlocate]]
|-  
| plocate ||
|}
|}


= Installation =
== Installation ==
# '''apt install plocate'''
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo apt install plocate
</syntaxhighlight>


= Syntax =
== Aufruf ==
$ '''plocate [OPTION]...  PATTERN...'''
<syntaxhighlight lang="bash" highlight="1" line copy>
plocate [OPTIONEN] PATTERNS
</syntaxhighlight>


== Parameter ==
=== Optionen ===
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}


== Optionen ==
== Anwendung ==
=== Index aktualisieren ===
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo updatedb
</syntaxhighlight>
siehe [[updatedb]]


-A, --all
=== Nach Dateipfaden suchen ===
Ignored for compatibility with mlocate(1).
<syntaxhighlight lang="bash" highlight="1" line copy>
locate doc/fonts
</syntaxhighlight>


-b, --basename
=== Groß-/Kleinschreibung ignorieren ===
Match  only against the file name portion of the path name, ie., the directory names will be excluded from the match (but still printed). This
<syntaxhighlight lang="bash" highlight="1" line copy>
does not speed up the search, but can suppress uninteresting matches.
locate -i Suchbegriff
</syntaxhighlight>


-c, --count
== Konfiguration ==
Do not print each match. Instead, count them, and print out a total number at the end.


-d, --database DBPATH
=== Dateien ===
Find matches in the given database, instead of /var/lib/plocate/plocate.db.  This argument can be given multiple  times,  to  search  multiple
{| class="wikitable options"
databases.  It is also possible to give multiple databases in one argument, separated by :.  (Any character, including : and \, can be escaped
|-
by prepending a \.)
! Datei !! Beschreibung
 
|-
-e, --existing
| ||
Print only entries that refer to files existing at the time locate is run. Note that unlike mlocate(1), symlinks are not followed  by  default
|-
(and indeed, there is no option to change this).
| ||
 
|}
-i, --ignore-case
Do a case-insensitive match as given by the current locale (default is case-sensitive, byte-by-byte match). Note that plocate does not support
the full range of Unicode case folding rules; in particular, searching for ß will not give you matches on ss even in  a  German  locale.  Also
note that this option will be somewhat slower than a case-sensitive match, since it needs to generate more candidates for searching the index.
 
-l, --limit LIMIT
Stop searching after LIMIT matches have been found. If --count is given, the number printed out will be at most LIMIT.
 
-N, --literal
Print  entry  names  without  quoting. Normally, plocate will escape special characters in filenames, so that they are safe for consumption by
typical shells (similar to the GNU coreutils shell-escape-always quoting style), unless printing to a pipe, but this  options will  turn  off
such quoting.
 
-0, --null
Instead  of  writing  a newline after every match, write a NUL (ASCII 0). This is useful for creating unambiguous output when it is to be pro‐
cessed by other tools (like xargs(1)), as filenames are allowed to contain embedded newlines.
 
-r, --regexp
Patterns are taken to be POSIX basic regular expressions.  See regex(7) for more information. Note that this forces a linear scan through  the
entire database, which is slow.
 
--regex
Like --regexp, but patterns are instead taken to be POSIX extended regular expressions.
 
-w, --wholename
Match  against  the  entire path name. This is the default, so unless -b is given first (see above), it will not do anything. This option thus
exists only as compatibility with mlocate(1).
 
--help Print out usage information, then exit successfully.


--version
=== Umgebung ===
Print out version information, then exit successfully.
; 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


= Konfiguration =
<noinclude>
== Index aktualisieren ==
# '''updatedb'''
siehe [[Linux:Befehl:updatedb]]


== Dateien ==
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* [[mlocate]](1)
* [[updatedb]](8)


= Anwendungen =
=== Dokumentation ===
== Nach Dateipfaden suchen ==
; Man-Page
$ '''locate doc/fonts'''
# [https://manpages.debian.org/bookworm/plocate/locate.1.en.html locate(1)]


== Groß-/Kleinschreibung ignorieren ==
=== Links ===
$ '''locate -i Suchbegriff'''
==== Projekt ====


= Dokumentation =
==== Weblinks ====
== Man-Pages ==
# locate(1)
# plocate-build(8)
# mlocate(1)
# updatedb(8)


== Info-Pages ==
{{DEFAULTSORT:locate}}
= Links =
{{DISPLAYTITLE:locate}}
== Intern ==
# [[Linux:Befehl:updatedb]]


== Weblinks ==
[[Kategorie:Linux/Suchen]]
[[Kategorie:Linux/Befehl]]


= Testfragen =
</noinclude>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>

Aktuelle Version vom 11. Mai 2025, 13:45 Uhr

locate - schnelle Suche nach Dateinamen

Beschreibung

Index basiert

Zuvor erstellter Index

  • Nicht das Dateisystem (wie bei find)
  • Schnelle Suche nach Dateinamen oder -pfaden
  • Diese wird regelmäßig aktualisiert
Vorteil
  • Schnelle Suchergebnisse
Nachteil
  • Index evtl. nicht aktuell
  • Nicht alle Verzeichnisse werden durchsucht
    • /tmp, /var/spool, /media

Implementierungen

Paket Beschreibung
locate findutils/locate
mlocate
plocate Schnelleres mlocate

Installation

sudo apt install plocate

Aufruf

plocate [OPTIONEN] PATTERNS

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

Umgebung

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. locate(1)

Links

Projekt

Weblinks