Suchen, Suchen, Welche - Wie starte ich einen Index- / Scan-Befehl für diese Dienstprogramme?

7

Wie scanne ich mein Laufwerk erneut, damit meine 'Suchdienstprogramme' eine neue Datei auf meinem System finden können?

Es fällt mir schwer, HOW TOs zu googeln, um einen Index- / Scan-Befehl für eine dieser Anwendungen zu starten. Ich verwende meistens: 'finden' und 'suchen', aber ich dachte, es wäre eine gute Idee, etwas über andere Such-Apps und deren Index- / Scan-Befehle zu wissen (Entschuldigung, ich weiß nicht, wie ich es am besten nennen soll: Index oder Scan zum Scannen neue Dateien auf dem System) .

  • Mein Problem: Ich installiere oder lade eine neue Datei auf das System herunter, weiß aber nicht wo.
  • Mein Bedürfnis: Um mein Laufwerk zu scannen (vorzugsweise nach Ordner, aber ich bin bereit, mit einem vollständigen Scan zu leben)
  • Mein Betriebssystem: Linux Debian (Lenny)

Vielen Dank!

l0c0b0x
quelle

Antworten:

11

Find benötigt keinen Index und durchläuft die Festplatte jedes Mal, wenn Sie sie ausführen. Beispiel

$ find / -name "*mynewprogram*"

Lokalisieren und Varianten benötigen Indexdateien, aber sie arbeiten wirklich schneller. 'locate' stammt von GNU findutils. 'slocate' wurde bis zum Ätzen empfohlen; Es war eine "sicherere" Version von "Lokalisieren". Benutzer sehen keine Dateien, auf die sie keinen Zugriff haben. 'mlocate' wird in Lenny und neuer empfohlen. mlocate verfügt über einen effizienteren Indexierungsmechanismus.

$ sudo updatedb  # to update the index.
$ mlocate  mynewprogram

whichDurchsucht Ihren $ PATH nach dem von Ihnen angegebenen Binärnamen. Kein Index erforderlich.

$ which touch
/usr/bin/touch

Wenn Sie die installierten Dateien eines Pakets anzeigen möchten, verwenden Sie diese Option

dpkg -L coreutils

Um zu sehen, welches Paket eine bestimmte Datei installiert hat

$ dpkg -S /usr/bin/touch
coreutils: /usr/bin/touch
Hayalci
quelle
Vielen Dank, Ihre Empfehlungen haben funktioniert. Ich wusste nichts über mlocate und es war bei der Standardinstallation von Lenny nicht vorhanden. Was ist der Unterschied zwischen mlocate und locate? (beide scheinen ziemlich ähnlich zu sein)
l0c0b0x
aktualisierte die Antwort
Hayalci
Bemerkenswert ist, dass finddas Ergebnis anscheinend zwischengespeichert wird. Wenn Sie den Befehl ein zweites Mal ausführen, ist er viel schneller, sodass er in gewissem Sinne als "indiziert" erscheint, aber nur zwischengespeichert wird. Und es scheint fast den Pfad zwischenzuspeichern / zu indizieren, denn wenn Sie den Dateinamen ändern, aber denselben Pfad beibehalten, ist er genauso schnell wie die zwischengespeicherte Suche.
Elijah Lynn
find würde nur vom Linux-Verzeichniseintrags-Cache profitieren, wie Sie beobachtet haben. Es ist eine integrierte Linux-Funktion, keine Beschleunigung, die Geräte findet, um einen Index zu ersetzen.
Hayalci
2

Versuchen

updatedb -v

[-v um sicher zu sein, dass es tatsächlich funktioniert; -]

Ich benutze auch manchmal

cd /whatever/is/the/path
find .|grep -i somePatternMatchingWhatIneed
pQd
quelle
2

Wenn Sie nicht nur nach dem Dateinamen, sondern auch nach dem Inhalt einer Datei suchen möchten, benötigen Sie einen dedizierten Dämon, der jede Datei beim Erstellen / Ändern indiziert und eine schnelle Suche nach diesem Index ermöglicht.

Vielleicht möchten Sie versuchen:

Rory
quelle
2

Verwenden Sie den findBefehl.

Hier einige Beispiele und Syntaxdokumente. Leider kann ich noch keine Hyperlinks hinzufügen :(.

http://linux.about.com/od/commands/a/blcmdl1_findx.htm

http://linux.about.com/od/commands/l/blcmdl1_find.htm

Chathuranga Chandrasekara
quelle
Sie können auf Quellen verlinken, um Ihre Erklärung zu unterstützen, aber Sie müssen Ihre Antwort hier auf SO noch erläutern. Stellen Sie sich vor: "Wird meine Antwort immer noch Sinn machen, wenn diese Links beschädigt / entfernt werden?".
Elijah Lynn