![]() |
|
Portal und Community für Wirtschaftsinformatik - Studenten |
|
Shell Programmierung >> Find Befehl
Mit dem Find Befehl kann man in der Linux Shell umfangreiche Suchoperationen durchführen. So ist es beispielsweise möglich, sich alle Dateien anzeigen, die einem bestimmten Buchstaben enthalten, mit einem kleinen „l“ anfangen und so weiter. Der Kreativität sind da keine Grenzen gesetzt.
Der Find-Befehl setzt sich wie folgt zusammen:
FIND [verzeichnis] –[selectoption] –[actionoption]
| Name | Bedeutung |
| -name „namensmuster“ | Listet Dateien auf, die ein entsprechendes Namensmuster enthalten. Siehe dazu „Wildcards“. |
| - perm „Rechte“ | Datei suchen, die bestimmte Rechte haben |
| - size „+/- n k“ | Dateigrößer „+“ größer als , „- „ kleiner als n kb |
| - type „d oder f“ | Typ ist Verzeichnis („d“) oder Datei („f) |
| - user „username“ | Dateien suchen, die einem bestimmten User gehören |
| - newer "datei" | Listet Dateien auf, die neuer als eine Referenzdatei sind |
| - atime "n" | Letzer Zugriff vor n Tage |
| - mtime "n" | Letze Änderung vor n Tagen |
| Name | Bedeutung | Beispiel |
| ? | Ein(!) beliebiges Zeichen | ??? -> Name besteht aus drei Zeichen |
| * | Beliebig lange Zeichenfolge | * -> Es wurden alle Dateinamen angezeigt werden |
| [!x-y] | Zeichenmenge ist nicht enthalten | [!0-9] – Ziffern 0-9 sind nicht enthalten |
| [x-y] | Zeichenmenge ist enthalten | [0-9] – Ziffern 0-9 sind enthalten |
Find Testverzeichnis –name “*o*“
Listet alle Dateien im Verzeichnis „Testverzeichnis“ auf, die an beliebiger Stelle in „o“ enthalten
Find Testverzeichnis .-name “*[0-9]?“
Listet alle Dateien auf, deren vorletztes Zeichen eine Ziffer (0-9) ist.
Find Testverzeichnis –name “[lL]*[!i]“
Listet alle Dateien, die entweder mit einem „l“ oder einem „L“ beginnen und nicht mit einem „i“ enden.
Find –perm 644
Findet alle Dateien, im aktuellen Verzeichnis mit den Rechten 644.
Mit der Actionoption lassen sich mit Dateien/Verzeichnissen, die nach verschiedenen Kriterien mittels der Selectoptionen gesucht wurden, bestimmte Aktionen ausführen. Beispielsweise können die Inhalte gesuchter Dateien auf dem Bildschirm angezeigt werden.
| Name | Bedeutung |
| - exec "befehl" {} \; | Führt Befehl ohne Nachfrage aus. |
| - ok "befehl"{} \; | Führt Befehl mit Nachfrage aus (Bestätigung erfolgt mit „y“) |
Find –type f –size -100k –exec cat {} \;
Zeigt den Inhalt aller Dateien an, die kleiner als 100 Kilobyte sind.
Find –type f – newer text.xt –exec ok {} \;
Zeigt den Inhalt aller Dateien an, die neuer als die Datei tex.txt sind. Anzeige muss bestätigt werden.
| Shell Programmierung |
| Buch - Empfehlung |
| Letzte Forenbeiträge |