• Keine Ergebnisse gefunden

11. ¨ Ubungsblatt zur Vorlesung Allgemeine Informatik III

N/A
N/A
Protected

Academic year: 2021

Aktie "11. ¨ Ubungsblatt zur Vorlesung Allgemeine Informatik III"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨at Ulm - Abteilung Angewandte Informationsverarbeitung Dr. Johannes Mayer und Hans Braxmeier, Wintersemester 2003

11. ¨ Ubungsblatt zur Vorlesung Allgemeine Informatik III

Abgabetermin: Dienstag, 27.01.2004

Find

(10 Punkte)

Ein h¨aufig gebrauchtes Kommando unter Unix, mit dem ganze Datenb¨aume nach Dateien, die vorgegebenen Kriterien entsprechen (Optionen), durchsucht werden k¨onnen, 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 verzeichnisbzw.find -w verzeichnisbzw.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¨aren Sie Ihrem Tutor dabei den Unterschied zwischen statund lstat).

Die Aufgaben sollen ohne Verwendung der Bibliothek getopt gel¨ost werden.

1

(2)

Hinweise zu den Optionen:

• Jede Option besteht aus genau einem Zeichen.

• Jede Option besitzt entweder einen oder keinen Parameter.

• Der Parameter kann direkt nach der Option (ohne Leerzeichen) oder nach der Option getrennt durch ein Leerzeichen folgen.

• Optionen k¨onnen zu Optionsgruppen zusammengefaßt werden, wobei nur die letzte Op- tion einen Parameter besitzen darf.

• Die Reihenfolge der Optionen spielt keine Reihe.

• Bei mehreren Optionen werden die Bedingungen durch logisches Und miteinander ver- kn¨upft.

• Ein Doppelminuszeichen k¨undigt an, daß keine weiteren Optionen mehr folgen. Achtung:

Wird ein Doppelminuszeichen als Parameter angegeben, gilt diese Regelung nicht, da Parameter einfach eingelesen und nicht geparst werden.

• Merke: Die Verzeichnisse werden jeweils rekursiv durchlaufen (d.h. auch alle Unterver- zeichnisse werden durchsucht).

Beispiele:

• find: Gibt alle Dateien des aktuellen Verzeichnisses aus.

• find -x: Sucht im aktuellen Verzeichnis nach allen ausf¨uhrbaren Dateien.

• find -n readme /usr: Sucht im Verzeichnis /usrnach der Datei readme.

• find -nreadme /usr: Sucht auch im Verzeichnis /usr nach der Datei readme.

• find -rwx: Sucht im aktuellen Verzeichnis nach allen Dateien, die der Benutzer lesen, schreiben und ausf¨uhren darf (Optionsgruppe).

• find -rwxa readme.old: Sucht im aktuellen Verzeichnis nach allen Dateien, die der Be- nutzer lesen, schreiben und ausf¨uhren darf und deren Zugriffszeit aktueller ist, als die der Dateireadme.old.

• find -wxra readme.old: Die Reihenfolge der Optionen spielt keine Rolle, außer daß die Option mit Parameter am Schluß der Gruppe stehen muß.

• find -n readme.txt -- -myhome/temp: Sucht im aktuellen Verzeichnispfad im Verzeich- nis-myhome/temp nach der Datei readme.txt (Ohne das Doppelminuszeichen w¨urde, da die Option -m nicht definiert ist, eine Fehlermeldung ausgegeben werden).

• find -n --hallo: Sucht im aktuellen Verzeichnis nach der Datei --hallo (Hier greift das Doppelminus nicht, da es als Parameter der Option-n nicht geparst wird).

• find -n readme -wa readme.old /usr: Sucht nach allen schreibbarenreadme-Dateien im Verzeichnis /usr, die eine neuere Zugriffszeit wie die Datei readme.oldbesitzen (Die Option-w bezieht sich auf das Suchergebnis und nicht auf die Datei readme.old)!

Viel Erfolg!

2

Referenzen

ÄHNLICHE DOKUMENTE

Zeigen Sie mit Hilfe des PCPs, dass es unentscheidbar ist, ob eine gegebene kon- textfeie Grammatik ein Palindrom erzeugt.

Schreiben Sie ein C-Programm, mit dem Zahlen erraten werden k¨onnen. Zu Beginn soll eine ganzzahlige Zufallszahl auf einem Intervall [a,b] erzeugt werden. Die Intervallgrenzen a und

sobald Spieler 1 seinen zweiten Kegel ins Ziel gebracht, darf Spieler 2 noch genau einen Zug ausf¨ uhren!. • In der Start- und Zielzone k¨onnen keine Kegel

Ein PBM-Bild besteht aus einem Header und den Bildaten, die im ASCII-Format oder in bin¨arer Form abgelegt werden k¨onnen.. Nach dem Header ist nur noch ein einziger Whi- te

Achtung: Die Anzahl der schwarzen und weissen St¨opsel darf nie gr¨oßer sein als die Anzahl der Kegel einer Farbe.. Sei der

Sie k¨onnen davon ausgehen, daß ein Pfad vom Startfeld zum Endfeld existiert und daß das Startfeld am linken Rand, das Endfeld irgendwo am Rand des Labyrinths

Um die ¨ Ubungspunkte der Studenten zu verwalten wurde eine Teilnehmerliste aller Studenten, die an den ¨ Ubungen teilnehmen, angelegt (Nach dem Doppelpunkt folgt die aktuelle