So finden Sie in Linux schnell Dateien

Wollen Sie mit Linux Dateien suchen, klappt das auf der Kommandozeile recht einfach. Sie haben die Wahl, ob Sie ganz einfach mit locate Dateien aufspüren oder besonders flexibel mit der Hilfe von find. Wir haben in diesem Beitrag für Sie Suchtipps zusammen getragen, die alle auch auf Mac OS funktionieren.

So finden Sie in Linux schnell Dateien über ihren Namen

  • Geben Sie ein locate, gefolgt vom gesuchten Namensteil, wie etwa locate mysql
  • Das Kommando locate findet alle Dateien, die die genannte Zeichenfolge im Pfad oder dem Dateinamen selbst haben.
  • Damit es dabei nicht auf die korrekte Groß-/Kleinschreibung ankommt, verwenden Sie den Parameter -i. Das Kommando locate -i mysql würde also auch eine Datei MySQL.info finden.

    Wenn Sie in Linux Dateien suchen, hilft der Befehl find weiter.,
    Der find-Befehl kann auf Wunsch die Groß-/Kleinschreibung ignorieren.

  • Manchmal stört es, dass auch der Pfadname nach dem Stichwort durchsucht wird. Dann verwenden Sie den Parameter -b wie “basename” und locate bringt nur Treffer, wo der Suchbegriff im Dateinamen selbst vorkommt.

Die Abfrage per locate geht ziemlich schnell, weil die Suche nicht live im Dateisystem, sondern in einer Datenbank erfolgt, die vom System automatisch in der Nacht upgedatet werden sollte. Passiert das nicht von selbst, dann können Sie diese Datenbank mit dem Kommando updatedb anlegen lassen.

Wenn locate einen Fehler bringt

In diesem Fall ist sehr wahrscheinlich einfach nur das Programmpaket nicht installiert, das locate beinhaltet.

Auf einem Debian-System installieren Sie es mit folgenden Kommandos nach und lassen gleich die Datenbank befüllen:

sudo apt-get install locate
sudo updatedb

Nach großen Dateien suchen

Das Kommando find verwendet im Gegensatz zu locate keine eigene Datenbank, sondern durchsucht live alle aktuell vorhandenen Dateien eines Verzeichnisbaums nach bestimmten Kriterien wie Namen, Typ, Größe oder Alter. Folgender Befehl liefert Ihnen zum Beispiel alle Dateien im Ordner /var/www, die mehr als 100 MByte an groß sind:

find /var/www -size +100M -ls

Der erste Parameter gibt den Startordner für die Suche an. Der Teil -size +100M schränkt die Ergebnisse auf Treffer ein, die größer als 100 MByte Größe haben. Das -ls bewirkt, dass die ANzeige nicht nur den Dateinamen enthält, sondern auch ausführliche Infos, wie Besitzer, Größe und Erstellungsdatum.

Sie können auch zwei Größenangaben verwenden, um einen Bereich zu definieren. Möchten Sie etwa nach allen Dateien zwischen 100 und 120 MByte suchen lassen, verwenden Sie:

find /var/www -size +100M -size -120M-ls

Kürzlich geänderte Dateien finden

Auch um Dateien zu ermitteln, die zuletzt geändert wurden, hilft find weiter.

Schreiben Sie diese Befehlszeile:

find . -name '*.doc' -type f -mtime -1

Der Befehl sucht danach im aktuellen Verzeichnis (das ist der Punkt) und dessen Unterverzeichnissen nach allen Dateien mit der Endung *.doc, die weniger als einen Tag alt sind. Wollen Sie über alle Dateien suchen, lassen Sie einfach den Teil -name ‘*.doc’ weg.  Der Parameter -type f sorgt dabei dafür, dass nur Dateien und nicht etwa Verzeichnisse ausgegeben werden, die ins Schema passen.

Wollen Sie nicht einfach nur die Pfad- und Dateinamen als Antwort, sondern eine ausführliche Aufstellung, fügen Sie ans Ende noch -ls hinzu:

find . -name '*.doc' -type f -mtime -1 -ls

Zuständig für diese Altersfragen ist der Parameter -mtime. Die Zahl dahinter steht für Tage, also -mtime -1 für den zurück liegenden Tag, sprich die letzten 24 Stunden.

Abhängig vom Vorzeichen steuern Sie die Tage. Schreiben Sie zum Beispiel

find . -name '*.doc' -type f -mtime +1

und heraus kommen alle Dateien und Verzeichnisse, die älter als einen Tag sind.

Steht die Zahl ohne Vorzeichen da, sucht find Dateien, welche die angegebenen Tage plus einen alt sind. Mit -mtime 5 sucht find also alle Files, die zwischen fünf und sechs Tagen auf dem Buckel haben.

Schreibe einen Kommentar