Erarbeiten sie in einer Kleingruppe (2 bis max. 3) die folgenden Übungsaufgaben. Protokollieren Sie
zu jeder Aufgabe die Befehle welche zur Lösung führen in einem Dokument. Bitte für die locate
und find Aufgaben jeweils ein eigenes Dokument.
Anschließend laden Sie bitte das Lösungs-Dokument über MS-Teams in den Bereich "Aufgaben" zu den
Aufgaben "Linux: Übungsaufgaben zu "locate"" und "Linux: Übungsaufgaben zu "find" - Teil 2" hoch.
locate
Verwenden Sie den Befehl locate um herauszufinden wo sich bei Ihnen die Datei updatedb.conf befindet.
Erstellen Sie in Ihrem Home-Verzeichnis eine Datei mit dem Namen Demo-Locate.info.
Suchen Sie mit dem Befehl locate nach der Datei. Erhalten Sie eine Ausgabe? Wenn nein, warum nicht?
Was müssen Sie tun, damit die Datei Demo-Locate.info mit dem Befehl locate gefunden werden kann?
Löschen Sie die Datei Demo-Locate.info wieder. Kontrollieren Sie mit ls ob die Datei gelöscht wurde.
Suchen Sie erneut mit locate nach der Datei Demo-Locate.info.
Sie wird noch immer angezeigt. Welche Möglichkeit ausser der Datenbank-Aktualisierung haben Sie um nur noch immer existierende Dateien anzeigen zu lassen?
Suchen Sie mit locate nach kernel. Groß- und Kleinschreibung soll dabei ignoriert werden.
Erweitern Sie den letzten Befehl um eine Option damit Sie nicht mehr alle Pfade angezeigt bekommen sondern nur noch die Anzahl der Treffer.
Suchen Sie mit locate nach kernel. Groß- und Kleinschreibung soll dabei berücksichtigt werden.
Als Basename wird immer der letzte Teil eines Pfades bezeichnet. Bei einer Datei ist dass damit der Dateiname. Bei einem Verzeichnis ist es der Verzeichnisname.
Beispiel: Datei /srv/daten/media/logo.jpg ergibt als Basename logo.jpg
Beispiel: Verzeichnis /srv/daten/media ergibt als Basename media
Erweitern Sie den Befehl des letzten Beispiels um die Option, dass nicht "irgendwo im Pfad" gesucht wird, sondern nur der Basename berücksichtigt wird.
Erweitern Sie den letzten Befehl um eine Option damit Sie nicht mehr alle Pfade angezeigt bekommen sondern nur noch die Anzahl der Treffer.
find
Alle nachfolgenden Aufgaben sind mit dem Befehl find zu lösen.
Finden Sie alle Dateien im Verzeichnis /usr welche größer als 10MB sind.
Erweitern Sie den Befehl von oben um nur noch die anzeigen zu lassen welche im Dateinamen lib stehen haben.
Erweitern Sie den Befehl von oben um nicht die Standardanzeige zu aktivieren, sondern als Aktion soll ls
verwendet werden. Und zwar mit den Optionen für ein Long-Listing und dass die Dateigröße einfach lesbar ist.
Finden Sie alle Dateien und Verzeichnisse im Verzeichnis /usr/share deren Basename auf conf endet.
Erweitern Sie den Befehl von oben um Groß- und Kleinschreibung zu ignorieren
Erweitern Sie den Befehl von oben um nur noch Dateien auszugeben.
Passen Sie den Befehl von oben an, um nur noch Verzeichnisse auszugeben.
Finden Sie alle Dateien im Verzeichnis ~/example-data/chaos welche die Dateiendung .backup2 haben.
Passen Sie den Befehl von oben an, um die Dateien nicht anzuzeigen, sondern zu löschen.
Finden Sie alle Dateien im Verzeichnis ~/example-data/chaos welche die Dateiendung .backup1 haben.
Passen Sie den Befehl von oben an, um die Dateien nicht nur anzuzeigen, sondern gleich in das (neu anzulegende) Verzeichnis ~/backup zu verschieben.
Übungsaufgabe zur Formatierung der Ausgabe
Öffnen Sie in der grafischen Oberfläche von Linux einen Editor und erstellen Sie eine ganz einfache HTML Datei.
Die Datei muss syntaktisch korrekt sein und zumindest die Tags html, head, title, body enthalten
Achten Sie auch auf eine korrekte "Einrückung" der verschachtelten Elemente.
Beispiel einer HTML Datei:
<html>
<head>
<meta charset="utf-8">
<title>Demo für den Befehl find</title>
</head>
<body>
<h1>Liste der Dateien in ~/example-data/media</h1>
<table>
<thead>
<tr>
<th>Dateiname</th>
<th>Verzeichnis</th>
<th>Dateigröße</th>
<th>Änderungsdatum</th>
</tr>
</thead>
<tbody>
<!-- Hier soll die Ausgabe des find-Befehls hereinkopiert werden -->
</tbody>
</table>
</body>
</html>
Speichern Sie die Datei in Ihrem Home-Verzeichnis unter Dokumente mit dem Namen find.html ab. Öffnen
Sie die Datei in Ihrem Browser durch einen Doppelklick darauf im File-Manager.
Schalten Sie nun wieder in die Konsole um.
Wechseln Sie in das Verzeichnis ~/example-data/media
Finden Sie alle Dateien in diesem und allen Unterverzeichnissen
Formatieren Sie die Ausgabe so, dass Sie folgende Daten in einer Liste mit jeweils einer Datei pro Zeile erhalten:
Dateiname (nur Basename)
Verzeichnis
Dateigröße in Kilobyte inklusive der Bezeichnung "KB"
Änderungsdatum der Datei im Format DD.MM.JJJJ HH:MM
Erweitern Sie den letzten Befehl um HTML-Tags für die Erstellung einer Tablerow (TR)
mit den jeweiligen Tabledata (TD) direkt in die Ausgabe einzufügen.
Kopieren Sie die Ausgabe in den Table-Body der vorbereiteten HTML Datei und prüfen Sie die Ausgabe in einem Browser
Erweitern Sie den Befehl um auch noch die Einrückungen mittels Tabulatoren und Zeilenumbrüchen mit auszugeben
Kopieren Sie die Ausgabe in den Table-Body der vorbereiteten HTML Datei und prüfen Sie die Ausgabe in einem Browser
Dokumentieren Sie den letzten genutzten find Befehl und kopieren Sie auch
den Quellcode der HTML Datei in die Dokumentation.