Universität Ulm - Abteilung Angewandte Informationsverarbeitung

 


11. Übungsblatt zur Vorlesung Allgemeine Informatik III


Abgabetermin: Dienstag, 27.01.2004


Find    (10 Punkte)



Ein häufig gebrauchtes Kommando unter Unix, mit dem ganze Datenbäume nach Dateien, die vorgegebenen Kriterien entsprechen (Optionen), durchsucht werden können, ist find.


Implementieren Sie eine vereinfachte Version von find, welche die im Folgenden aufgelisteten Optionen verarbeiten kann. Die Optionen sollen dabei beliebig kombinierbar sein. Bei nicht definierten Optionen bzw. falsch angegbenen Optionsparametern (z.B. String statt Zahl oder umgekehrt) soll eine Usage-Meldung sowie eine Fehlermeldung ausgegeben werden. Die Suche soll rekursiv im angegebenen Verzeichnis stattfinden. Wird kein Verzeichnis angegeben wird im aktuellen Verzeichnis rekursiv gesucht. Wird kein Parameter angegeben, werden alle Dateien ausgegeben. Werden keine Dateien gefunden, wird nichts ausgegeben.


a) find -i inodenr verzeichnis (2 Punkte)

Sucht nach allen Dateinamen, die die Datei mit der angegebenen Inodenummer referenzieren.


b) find -n dateiname verzeichnis (2 Punkte)

Sucht nach allen Dateien mit dem angegebenen Dateinamen.


c) find -a datei verzeichnis (2 Punkte)

Sucht nach allen Dateien, deren Zugriffszeit (Access Time) neuer ist, als die der angegebenen Datei.


d) find -r verzeichnis bzw. find -w verzeichnis bzw. find -x verzeichnis (2 Punkte) Gibt alle Dateien aus, bei denen der User das angegebene Recht (read, write, execute) besitzt.


e) find -l verzeichnis (2 Punkte)

Die Option -l soll bewirken, dass Softlinks so behandelt werden, wie die Datei, auf die sie zeigen (Erklären Sie Ihrem Tutor dabei den Unterschied zwischen stat und lstat).


Die Aufgaben sollen ohne Verwendung der Bibliothek getopt gelöst werden!

Hinweise zu den Optionen:

Beispiele:



Viel Erfolg!



Hans Braxmeier