Zum Inhalt springen

Locate: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Covenents » Bzip2 » ISMS/Massnahmen » Mittelstand » locate
K Textersetzung - „== Parameter ==↵“ durch „== Argumente == “
K Textersetzung - „line>“ durch „line copy>“
 
(52 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:locate}}
'''locate''' - schnelle Suche nach Dateinamen
 
'''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.
== Beschreibung ==
; Index basiert
Zuvor erstellter Index
* Nicht das Dateisystem (wie bei [[find]])
* Schnelle Suche nach Dateinamen oder -pfaden
* Diese wird regelmäßig aktualisiert


'''Vorteil'''
; 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 ||
|}
|}
* 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.
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo apt install plocate
</syntaxhighlight>


* 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.
== Aufruf ==
* Es versucht nicht, die Kompatibilität mit BSD-Locate oder Nicht-UTF-8-Dateinamen und -Locales zu erhalten.
<syntaxhighlight lang="bash" highlight="1" line copy>
* Die meisten E/A werden asynchron durchgeführt, aber die Ergebnisse werden synchronisiert, so dass die Ausgabe jedes Mal in der gleichen Reihenfolge erfolgt.
plocate [OPTIONEN] PATTERNS
</syntaxhighlight>


* Wenn mehrere Suchmuster angegeben werden, sucht plocate nach Dateien, die alle diese Muster erfüllen.
=== Optionen ===
* 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.
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}


Standardmäßig werden Muster als Teilstrings betrachtet, nach denen gesucht wird.
== Anwendung ==
* 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).
=== Index aktualisieren ===
* 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. 
<syntaxhighlight lang="bash" highlight="1" line copy>
* All dies entspricht dem Verhalten von mlocate(1).
sudo updatedb
</syntaxhighlight>
siehe [[updatedb]]


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.
=== Nach Dateipfaden suchen ===
<syntaxhighlight lang="bash" highlight="1" line copy>
locate doc/fonts
</syntaxhighlight>


= Installation =
=== Groß-/Kleinschreibung ignorieren ===
# '''apt install plocate'''
<syntaxhighlight lang="bash" highlight="1" line copy>
locate -i Suchbegriff
</syntaxhighlight>


= Syntax =
== Konfiguration ==
$ '''plocate [OPTION]...  PATTERN...'''


== Argumente ==
=== Dateien ===
 
{| class="wikitable options"
== Optionen ==
{| class="wikitable sortable"  
|-
! Aufgabe !! Befehl !! Link
|-
| -A || --all || Ignored for compatibility with mlocate(1).
|-
| -b || --basename || 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 does not speed up the search, but can suppress uninteresting matches.
|-
|-
| -c || --count || Do not print each match. Instead, count them, and print out a total number at the end.
! Datei !! Beschreibung
|-
|-
| -d || --database DBPATH || Find matches in the given database, instead of /var/lib/plocate/plocate.db.  This argument can be given multiple  times,  to  search  multiple databases.  It is also possible to give multiple databases in one argument, separated by :.  (Any character, including : and \, can be escaped by prepending a \.)
| ||
|-
|-
| -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 processed 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  || Print out version information, then exit successfully
|}
|}


= Konfiguration =
=== Umgebung ===
== Index aktualisieren ==
; LOCATE_PATH
# '''updatedb'''
* Wenn angegeben, wird es nach der Liste der --database-Pfade angehängt
siehe [[Linux/Befehl:updatedb]]
** 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


== Dateien ==
<noinclude>


== Umgebegung ==
== Anhang ==
'''LOCATE_PATH'''
=== Siehe auch ===
* If given, appended after the list of --database paths (whether an explicit is given or the default is used)
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* Colon-delimiting  and  character escaping follows the same rules as for --database.
* [[mlocate]](1)
* [[updatedb]](8)


= Anwendung =
=== 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 =
== Man-Page ==
# locate(1)
# plocate-build(8)
# mlocate(1)
# updatedb(8)
 
== Info-Pages ==
= Links =
== Intern ==
# [[updatedb]]
 
== Weblinks ==


==== Weblinks ====


{{DEFAULTSORT:locate}}
{{DISPLAYTITLE:locate}}


[[Kategorie:Linux/Suchen]]
[[Kategorie:Linux/Suchen]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]
{{DEFAULTSORT:locate}}
 
</noinclude>

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