Linux Systeme

Aufgaben zu locate und find

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

  1. Verwenden Sie den Befehl locate um herauszufinden wo sich bei Ihnen die Datei updatedb.conf befindet.
  2. 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?
  3. Was müssen Sie tun, damit die Datei Demo-Locate.info mit dem Befehl locate gefunden werden kann?
  4. Löschen Sie die Datei Demo-Locate.info wieder. Kontrollieren Sie mit ls ob die Datei gelöscht wurde.
  5. 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?
  6. Suchen Sie mit locate nach kernel. Groß- und Kleinschreibung soll dabei ignoriert werden.
  7. Erweitern Sie den letzten Befehl um eine Option damit Sie nicht mehr alle Pfade angezeigt bekommen sondern nur noch die Anzahl der Treffer.
  8. Suchen Sie mit locate nach kernel. Groß- und Kleinschreibung soll dabei berücksichtigt werden.
  9. 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.
  10. 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.

  1. Finden Sie alle Dateien im Verzeichnis /usr welche größer als 10MB sind.
  2. Erweitern Sie den Befehl von oben um nur noch die anzeigen zu lassen welche im Dateinamen lib stehen haben.
  3. 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.
  4. Finden Sie alle Dateien und Verzeichnisse im Verzeichnis /usr/share deren Basename auf conf endet.
  5. Erweitern Sie den Befehl von oben um Groß- und Kleinschreibung zu ignorieren
  6. Erweitern Sie den Befehl von oben um nur noch Dateien auszugeben.
  7. Passen Sie den Befehl von oben an, um nur noch Verzeichnisse auszugeben.
  8. Finden Sie alle Dateien im Verzeichnis ~/example-data/chaos welche die Dateiendung .backup2 haben.
  9. Passen Sie den Befehl von oben an, um die Dateien nicht anzuzeigen, sondern zu löschen.
  10. Finden Sie alle Dateien im Verzeichnis ~/example-data/chaos welche die Dateiendung .backup1 haben.
  11. Passen Sie den Befehl von oben an, um die Dateien nicht nur anzuzeigen, sondern gleich in das (neu anzulegende) Verzeichnis ~/backup zu verschieben.
  12. Übungsaufgabe zur Formatierung der Ausgabe
    1. Ö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.
    2. 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>
    3. 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.
    4. Schalten Sie nun wieder in die Konsole um.
    5. Wechseln Sie in das Verzeichnis ~/example-data/media
    6. Finden Sie alle Dateien in diesem und allen Unterverzeichnissen
    7. 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
    8. 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.
    9. Kopieren Sie die Ausgabe in den Table-Body der vorbereiteten HTML Datei und prüfen Sie die Ausgabe in einem Browser
    10. Erweitern Sie den Befehl um auch noch die Einrückungen mittels Tabulatoren und Zeilenumbrüchen mit auszugeben
    11. 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.