Suchen und finden von Dateien mit find in der Linux Shell

on

Häufiger braucht man die Möglichkeit, schnell über die Shell nach bestimmten Dateien zu suchen. Nachfolgend möchte ich meine häufig genutzten Snippets vorstellen, welche im Alltagsgebrauch schon vielfach in Anspruch genommen wurden.

Find:
Suche nach bestimmten Dateinamen oder Eigenschaften von Dateien:

find [Suchort] Kriterium [Optionen]

Snippets:

Alle Dateien und Ordner im gesuchten Verzeichnis rekursiv auflisten:

find /verzeichnis/

Zusätzliche Dateiinformationen (Rechte, Dateigröße und Änderungszeit) zu den Suchergebnissen ausgeben:

find /verzeichnis/ -ls

Nach einem bestimmten Dateinamen im gesamten System suchen, wenn die Art der Datei nicht bekannt ist:

find / -name dateiname.*

Suche nach allen PDFs im Ordner ebooks:

find /ebooks -name *.pdf

Nach einer bestimmten Textdatei mit dem namen foo im gesamten System suchen :

find / -name foo.txt

Suche nach der Datei foo.txt in mehreren bestimmten Ordnern:

find /verzeichnis1 /verzeichnis2/unterverzeichnis -name foo.txt

Sollte der ausführende Benutzer nicht die Rechte haben, einzelne Ordner zu sehen, können während des Suchvorgangs Fehler auftauchen. Diese Meldungen können ganz einfach durch Anfügen von dem folgenden Befehl ausgeblendet werden (funktioniert bei jedem find-Aufruf):

find / -name foo.txt 2>/dev/null

Auflisten aller Ordner, welche den Namen ordner im Namen tragen:

find / -type d -name "*ordner*"

Das Gleiche auch nur für Dateien:

find / -type f -name "*datei*"

Dateien finden, dessen Dateigröße mehr als 15 MB beträgt:

find /pictures -size +15M

Finde Dateien, welche innerhalb der letzten sieben Tage geändert wurden.  Gleiches gilt auch für ctime (Änderung des Dateistatus von Namen oder Rechten), bzw. atime für den Zeitpunkt des letzten Dateizugriffs:

find /pictures -mtime -7

Es kann -amin, -cmin oder -mmin genutzt werden, um nach Änderungen in genaueren Minutenabfragen zu unterscheiden, z.B. das Auflisten aller Dateien mit einer Änderung innerhalb der letzten 60 Minuten :

find /pictures -mmin -60

Finde alle Dateien des Benutzers foo:

find /pictures -user foo

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.