TAG 02: Der digitale Architekt

LinuxBeginner
Jetzt üben

Einführung

Willkommen zu Tag 2 bei der LabEx Corporation! Nach der erfolgreichen Systemerkundung gestern wurden Sie zum digitalen Architekten für das Projekt Phoenix befördert. Das Entwicklungsteam war von Ihrer gründlichen Dokumentation und Ihrer Liebe zum Detail beeindruckt.

Es gibt jedoch ein dringendes Problem, das Ihre sofortige Aufmerksamkeit erfordert. Der vorherige Systemadministrator hat das Unternehmen abrupt verlassen, und die Dateien von Projekt Phoenix sind in völliger Unordnung. Quellcode, Dokumentation und Konfigurationsdateien sind über ein einziges Verzeichnis verstreut. Kritische Einstellungen sind ohne Backups gefährdet, und veraltete Protokolldateien verstopfen den Entwicklungsserver, den Sie gestern untersucht haben.

Ihre Mission ist es, eine saubere, logische und effiziente Dateistruktur zu entwerfen, die das wachsende Entwicklungsteam unterstützt. Durch das Erstellen ordnungsgemäßer Verzeichnisse, das Organisieren von Dateien, das Sichern von Backups und das Bereinigen alter Daten legen Sie den Grundstein für den Erfolg von Projekt Phoenix.

Die leitende Entwicklerin, Sarah Chen, zählt auf Sie, um dieses Chaos in eine organisierte, professionelle Entwicklungsumgebung zu verwandeln. Ihre heutige Arbeit wird sich direkt auf die Produktivität des Teams und den Zeitplan des Projekts auswirken. Fangen wir an!

Einrichten der Projekt-Verzeichnisstruktur

Ihre erste Aufgabe besteht darin, eine ordnungsgemäße Verzeichnisstruktur innerhalb des Verzeichnisses phoenix_project zu erstellen. Eine gut definierte Struktur trennt verschiedene Dateitypen voneinander, wodurch das Projekt einfacher zu navigieren und zu warten ist.

Aufgaben

  1. Navigieren Sie in das Verzeichnis ~/project/phoenix_project.
  2. Erstellen Sie drei neue Unterverzeichnisse: src für den Quellcode, config für Konfigurationsdateien und docs für die Dokumentation.

Anforderungen

  • Alle neuen Verzeichnisse müssen innerhalb des Verzeichnisses ~/project/phoenix_project erstellt werden.
  • Die Verzeichnisnamen müssen exakt src, config und docs lauten.
  • Sie sollten einen einzigen Befehl verwenden, um alle drei Verzeichnisse gleichzeitig zu erstellen.

Beispiele

Nach Abschluss dieses Schritts sollte Ihre Verzeichnisstruktur wie folgt aussehen:

~/project/phoenix_project/
├── config/
├── docs/
├── src/
├── README.md
├── config.json
└── main_app.py

Wenn Sie ls -F im Verzeichnis ~/project/phoenix_project ausführen, sollten Sie Folgendes sehen:

README.md  config/  config.json  docs/  main_app.py  src/

Die /-Symbole nach den Verzeichnisnamen zeigen an, dass es sich um Verzeichnisse und nicht um Dateien handelt.

Hinweise

  • Verwenden Sie den Befehl cd, um Ihr aktuelles Verzeichnis zu wechseln.
  • Der Befehl mkdir wird verwendet, um neue Verzeichnisse zu erstellen.
  • mkdir kann mehrere Argumente akzeptieren, um mehrere Verzeichnisse auf einmal zu erstellen.
✨ Lösung prüfen und üben

Nachdem die neue Verzeichnisstruktur steht, ist es an der Zeit, die vorhandenen Projektdateien in ihre vorgesehenen Bereiche zu verschieben. Dies bereinigt das Stammverzeichnis des Projekts und macht Dateien leichter auffindbar.

Aufgaben

  1. Verschieben Sie die Datei main_app.py in das Verzeichnis src.
  2. Verschieben Sie die Datei config.json in das Verzeichnis config.
  3. Verschieben Sie die Datei README.md in das Verzeichnis docs.

Anforderungen

  • Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/phoenix_project befinden, bevor Sie die Verschiebevorgänge durchführen.
  • Verwenden Sie den Befehl mv, um jede Datei zu verschieben.

Beispiele

Nach dem Verschieben der Dateien sollte Ihre Projektstruktur so organisiert sein:

~/project/phoenix_project/
├── config/
│ └── config.json
├── docs/
│ └── README.md
└── src/
└── main_app.py

Wenn Sie ls -F im Stammverzeichnis ~/project/phoenix_project ausführen, sollten nur noch die Verzeichnisse angezeigt werden:

config/  docs/  src/

Jede Datei sollte sich nun in ihrem entsprechenden Unterverzeichnis befinden:

  • ls src/main_app.py
  • ls config/config.json
  • ls docs/README.md

Hinweise

  • Der Befehl mv wird zum Verschieben oder Umbenennen von Dateien und Verzeichnissen verwendet.
  • Die grundlegende Syntax lautet mv [QUELLE] [ZIEL].
  • Um beispielsweise file.txt in ein Verzeichnis namens documents zu verschieben, würden Sie mv file.txt documents/ verwenden.
✨ Lösung prüfen und üben

Sichern kritischer Konfigurationsdateien

Die Datei config.json enthält wichtige Einstellungen für das Projekt Phoenix. Bevor Änderungen vorgenommen werden, ist es eine lebenswichtige Sicherheitsmaßnahme, ein Backup zu erstellen. Ihre nächste Aufgabe ist es, eine Kopie dieser Datei anzufertigen.

Aufgaben

  1. Erstellen Sie eine Sicherungskopie der Datei config.json.

Anforderungen

  • Die Backup-Datei muss im Verzeichnis ~/project/phoenix_project/config/ erstellt werden.
  • Die Backup-Datei muss exakt config.json.bak heißen.

Beispiele

Nach dem Erstellen des Backups sollte Ihr config-Verzeichnis beide Dateien enthalten:

~/project/phoenix_project/config/
├── config.json
└── config.json.bak

Wenn Sie ls im Verzeichnis ~/project/phoenix_project/config/ ausführen, sollten Sie sehen:

config.json  config.json.bak

Beide Dateien sollten den identischen Inhalt haben, da die .bak-Datei eine exakte Kopie des Originals ist:

## Diese Befehle sollten die identische Ausgabe liefern
cat config.json
cat config.json.bak

Hinweise

  • Der Befehl cp wird zum Kopieren von Dateien und Verzeichnissen verwendet.
  • Die Syntax lautet cp [QUELLE] [ZIEL].
  • Sie müssen den vollständigen Pfad zur Quelldatei und den vollständigen Pfad für die neue Backup-Datei angeben.
✨ Lösung prüfen und üben

Reorganisieren der gemeinsamen Team-Ressourcen

Sie haben ein weiteres Puzzleteil entdeckt: ein Verzeichnis namens shared_docs, das sich unter ~/project/shared_docs befindet. Dieses Verzeichnis enthält wichtige Team-Richtlinien und API-Spezifikationen, die zum Rest der Projektdokumentation gehören. Ihre Aufgabe ist es, dieses in die Hauptprojektstruktur zu integrieren.

Aufgaben

  1. Verschieben Sie das gesamte Verzeichnis shared_docs samt Inhalt in das Verzeichnis ~/project/phoenix_project/docs/.

Anforderungen

  • Das Quellverzeichnis ist ~/project/shared_docs.
  • Der Zielpfad ist ~/project/phoenix_project/docs/.
  • Das gesamte Verzeichnis muss verschoben werden, nicht nur dessen Inhalt.

Beispiele

Nach dem Verschieben des Verzeichnisses shared_docs sollte Ihre Dokumentationsstruktur wie folgt aussehen:

~/project/phoenix_project/docs/
├── README.md
└── shared_docs/
├── api_spec.doc
└── team_guidelines.txt

Wenn Sie ls im Verzeichnis ~/project/phoenix_project/docs/ ausführen, sollten Sie sehen:

README.md  shared_docs/

Das Verzeichnis shared_docs sollte alle seine ursprünglichen Dateien enthalten:

ls ~/project/phoenix_project/docs/shared_docs/
api_spec.doc  team_guidelines.txt

Der ursprüngliche Speicherort ~/project/shared_docs sollte nicht mehr existieren.

Hinweise

  • Der Befehl mv funktioniert für Verzeichnisse genauso wie für Dateien.
  • Wenn Sie ein Verzeichnis verschieben, wird dessen gesamter Inhalt automatisch mitverschoben.
  • Der Befehl sieht etwa so aus: mv [QUELL_VERZEICHNIS] [ZIEL_VERZEICHNIS].
✨ Lösung prüfen und üben

Archivieren und Entfernen veralteter Protokolldateien

Ihre letzte Aufgabe ist ein wenig "Hausputz". Im Verzeichnis ~/project/logs sammeln sich Protokolldateien an, und die aus dem Jahr 2023 werden für den täglichen Betrieb nicht mehr benötigt. Um Platz zu sparen und Ordnung zu halten, müssen Sie diese alten Protokolle in einer einzigen Archivdatei komprimieren und anschließend die Originaldateien löschen.

Den tar-Befehl verstehen

Der Befehl tar ist ein mächtiges Linux-Werkzeug zum Erstellen und Bearbeiten von Archivdateien. "Tar" stand ursprünglich für "Tape Archive" (Bandarchiv), da es entwickelt wurde, um Daten auf Magnetbänder zu schreiben. Heute wird es jedoch hauptsächlich verwendet, um komprimierte Archivdateien auf der Festplatte zu erstellen.

Wenn Sie tar verwenden, bündeln Sie im Wesentlichen mehrere Dateien zu einer einzigen Datei (einem sogenannten Archiv) und können dieses Archiv optional komprimieren, um Platz zu sparen. Das gebräuchlichste Kompressionsformat ist gzip, das die Dateiendung .gz hinzufügt.

Der Befehl tar verwendet verschiedene Optionen (Flags), um sein Verhalten zu steuern:

  • c: Erstellt ein neues Archiv (create)
  • z: Komprimiert das Archiv mit gzip
  • f: Gibt den Dateinamen des Archivs an (file)

Somit erstellt tar -czf archiv.tar.gz datei1 datei2 ein neues komprimiertes Archiv namens archiv.tar.gz, das datei1 und datei2 enthält.

Aufgaben

  1. Navigieren Sie zum Verzeichnis ~/project/logs.
  2. Erstellen Sie ein komprimiertes tar-Archiv namens old_logs.tar.gz, das alle Protokolldateien aus dem Jahr 2023 enthält.
  3. Nachdem das Archiv erfolgreich erstellt wurde, löschen Sie die ursprünglichen Protokolldateien von 2023, die Sie gerade archiviert haben.

Anforderungen

  • Das fertige Archiv muss exakt old_logs.tar.gz heißen.
  • Das Archiv muss sich im Verzeichnis ~/project/logs befinden.
  • Nur Protokolldateien mit 2023 im Namen sollen archiviert und anschließend entfernt werden.
  • Die Protokolldatei von 2024 (app_2024-05-01.log) darf nicht im Archiv enthalten sein und darf nicht gelöscht werden.

Beispiele

Vor der Archivierung enthält Ihr logs-Verzeichnis:

~/project/logs/
├── app_2023-01-15.log
├── app_2024-05-01.log
└── db_2023-02-20.log

Nach Abschluss der Archivierungsaufgabe sollte Ihr logs-Verzeichnis so aussehen:

~/project/logs/
├── app_2024-05-01.log
└── old_logs.tar.gz

Wenn Sie ls im Verzeichnis ~/project/logs/ ausführen, sollten Sie sehen:

app_2024-05-01.log  old_logs.tar.gz

Hinweise

  • Verwenden Sie den Befehl tar, um Archive zu erstellen. Die Optionen -czf sind eine starke Kombination: c (erstellen), z (mit gzip komprimieren) und f (Dateinamen festlegen).
  • Sie können einen Platzhalter (*) verwenden, um mehrere Dateien auszuwählen, die einem Muster entsprechen. Zum Beispiel findet *_2023-*.log alle Dateien, die auf .log enden und _2023- im Namen haben.
  • Der Befehl rm wird zum Entfernen (Löschen) von Dateien verwendet. Seien Sie vorsichtig bei der Verwendung von Platzhaltern!
✨ Lösung prüfen und üben

Zusammenfassung

Hervorragende Arbeit, digitaler Architekt! Sie haben das Projekt Phoenix erfolgreich aus dem Chaos in eine gut organisierte Entwicklungsumgebung verwandelt. Sarah Chen und das gesamte Entwicklungsteam sind von Ihrer Arbeit begeistert. Sie haben eine logische Verzeichnisstruktur aufgebaut, kritische Dateien organisiert, Konfigurationen durch Backups gesichert und Systemressourcen durch das Archivieren alter Protokolle bereinigt.

Diese grundlegenden Linux-Kommandozeilenkenntnisse – mkdir, mv, cp, tar und rm – bilden das Rückgrat der professionellen Systemadministration. Ihre heutige Organisationsarbeit hat ein solides Fundament geschaffen, das das Projekt Phoenix während seines gesamten Entwicklungszyklus unterstützen wird.

Das Entwicklungsteam kann nun effizient in seiner ordnungsgemäß strukturierten Umgebung arbeiten. Morgen werden Sie eine neue Herausforderung als Protokoll-Ermittler (Log Investigator) annehmen, wenn das Team auf seine ersten technischen Probleme stößt. Ihr systematischer Ansatz zur Organisation wird Ihnen bei der Fehlersuche gute Dienste leisten!