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!

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

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


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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.