Einführung
Willkommen zu Tag 2 bei der LabEx Corporation! Nach der erfolgreichen Systemerkundung gestern wurden Sie zum digitalen Architekten für Project Phoenix befördert. Das Entwicklungsteam war von Ihrer gründlichen Dokumentation und Ihrer Liebe zum Detail beeindruckt.
Allerdings gibt es ein dringendes Problem, um das Sie sich sofort kümmern müssen. Der vorherige Systemadministrator hat das Unternehmen unerwartet verlassen, und die Dateien von Project Phoenix befinden sich in völliger Unordnung. Quellcode, Dokumentation und Konfigurationsdateien liegen verstreut in einem einzigen Verzeichnis. Kritische Einstellungen sind ohne Sicherungen gefährdet, und veraltete Protokolldateien überladen den Entwicklungsserver, den Sie gestern untersucht haben.
Ihre Aufgabe ist es, eine übersichtliche, logisch aufgebaute und effiziente Dateistruktur zu entwerfen, die das wachsende Entwicklungsteam unterstützt. Indem Sie geeignete Verzeichnisse erstellen, Dateien organisieren, Sicherungen anlegen und alte Daten entfernen, schaffen Sie die Grundlage für den Erfolg von Project Phoenix.
Die leitende Entwicklerin Sarah Chen zählt darauf, dass Sie dieses Chaos in eine organisierte, professionelle Entwicklungsumgebung verwandeln. Ihre Arbeit heute wirkt sich direkt auf die Produktivität des Teams und den Zeitplan des Projekts aus. Beginnen wir!
Projektverzeichnisstruktur einrichten
Ihre erste Aufgabe besteht darin, innerhalb des Verzeichnisses phoenix_project eine geeignete Verzeichnisstruktur zu erstellen. Eine klar definierte Struktur trennt verschiedene Dateitypen voneinander. Dadurch lässt sich das Projekt leichter durchsuchen und verwalten.
Aufgaben
- Wechseln Sie in das Verzeichnis
~/project/phoenix_project. - Erstellen Sie drei neue Unterverzeichnisse:
srcfür den Quellcode,configfür Konfigurationsdateien unddocsfür die Dokumentation.
Anforderungen
- Alle neuen Verzeichnisse müssen innerhalb des Verzeichnisses
~/project/phoenix_projecterstellt werden. - Die Verzeichnisnamen müssen genau
src,configunddocslauten. - Verwenden Sie einen einzigen Befehl, um alle drei Verzeichnisse gleichzeitig zu erstellen.
Beispiele
Nach Abschluss dieses Schritts sollte Ihre Verzeichnisstruktur so aussehen:
~/project/phoenix_project/
├── config/
├── docs/
├── src/
├── README.md
├── config.json
└── main_app.py
Wenn Sie im Verzeichnis ~/project/phoenix_project ls -F ausführen, sollte folgende Ausgabe erscheinen:
README.md config/ config.json docs/ main_app.py src/
Das Zeichen / hinter einem Verzeichnisnamen zeigt an, dass es sich um ein Verzeichnis und nicht um eine Datei handelt.
Hinweise
- Verwenden Sie den Befehl
cd, um das aktuelle Verzeichnis zu wechseln. - Mit dem Befehl
mkdirerstellen Sie neue Verzeichnisse. mkdirakzeptiert mehrere Argumente und kann daher mehrere Verzeichnisse auf einmal erstellen.
Projektdateien organisieren und verschieben
Nachdem die neue Verzeichnisstruktur eingerichtet ist, verschieben Sie nun die vorhandenen Projektdateien an ihre vorgesehenen Orte. Dadurch wird das Stammverzeichnis des Projekts übersichtlicher und die Dateien lassen sich leichter finden.
Aufgaben
- Verschieben Sie die Datei
main_app.pyin das Verzeichnissrc. - Verschieben Sie die Datei
config.jsonin das Verzeichnisconfig. - Verschieben Sie die Datei
README.mdin das Verzeichnisdocs.
Anforderungen
- Stellen Sie sicher, dass Sie sich vor dem Verschieben im Verzeichnis
~/project/phoenix_projectbefinden. - Verwenden Sie den Befehl
mv, um die einzelnen Dateien 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 im Stammverzeichnis ~/project/phoenix_project ls -F ausführen, sollten nur die Verzeichnisse angezeigt werden:
config/ docs/ src/
Jede Datei sollte sich jetzt in ihrem passenden Unterverzeichnis befinden:
ls src/→main_app.pyls config/→config.jsonls docs/→README.md
Hinweise
- Mit dem Befehl
mvverschieben oder benennen Sie Dateien und Verzeichnisse um. - Die grundlegende Syntax lautet
mv [SOURCE] [DESTINATION]. - Um beispielsweise
file.txtin ein Verzeichnis namensdocumentszu verschieben, verwenden Siemv file.txt documents/.
Kritische Konfigurationsdateien sichern
Die Datei config.json enthält wichtige Einstellungen für Project Phoenix. Bevor Änderungen vorgenommen werden, ist es eine wichtige Sicherheitsmaßnahme, eine Sicherungskopie dieser Datei zu erstellen. Ihre nächste Aufgabe besteht darin, eine Kopie der Datei anzulegen.
Aufgaben
- Erstellen Sie eine Sicherungskopie der Datei
config.json.
Anforderungen
- Die Sicherungsdatei muss innerhalb des Verzeichnisses
~/project/phoenix_project/config/erstellt werden. - Die Sicherungsdatei muss genau
config.json.bakheißen.
Beispiele
Nach dem Erstellen der Sicherung sollte Ihr Verzeichnis config beide Dateien enthalten:
~/project/phoenix_project/config/
├── config.json
└── config.json.bak
Wenn Sie im Verzeichnis ~/project/phoenix_project/config/ ls ausführen, sollte folgende Ausgabe erscheinen:
config.json config.json.bak
Beide Dateien sollten denselben Inhalt haben, da die Datei .bak eine exakte Kopie des Originals ist:
## These commands should show identical output
cat config.json
cat config.json.bak
Hinweise
- Mit dem Befehl
cpkopieren Sie Dateien und Verzeichnisse. - Die Syntax lautet
cp [SOURCE] [DESTINATION]. - Sie müssen den vollständigen Pfad zur Quelldatei und den vollständigen Pfad für die neue Sicherungsdatei angeben.
Gemeinsame Ressourcen des Teams neu organisieren
Sie haben einen weiteren Teil des Problems entdeckt: Ein Verzeichnis namens shared_docs befindet sich unter ~/project/shared_docs. Dieses Verzeichnis enthält wichtige Teamrichtlinien und API-Spezifikationen, die zu den übrigen Dokumentationsdateien des Projekts gehören. Ihre Aufgabe besteht darin, es in die Hauptstruktur des Projekts zu integrieren.
Aufgaben
- Verschieben Sie das gesamte Verzeichnis
shared_docseinschließlich seines gesamten Inhalts in das Verzeichnis~/project/phoenix_project/docs/.
Anforderungen
- Das Quellverzeichnis ist
~/project/shared_docs. - Der Zielpfad lautet
~/project/phoenix_project/docs/. - Das gesamte Verzeichnis und nicht nur sein Inhalt muss verschoben werden.
Beispiele
Nach dem Verschieben des Verzeichnisses shared_docs sollte Ihre Dokumentationsstruktur so aussehen:
~/project/phoenix_project/docs/
├── README.md
└── shared_docs/
├── api_spec.doc
└── team_guidelines.txt
Wenn Sie im Verzeichnis ~/project/phoenix_project/docs/ ls ausführen, sollte folgende Ausgabe erscheinen:
README.md shared_docs/
Das Verzeichnis shared_docs sollte alle 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 vorhanden sein.
Hinweise
- Der Befehl
mvfunktioniert bei Verzeichnissen genauso wie bei Dateien. - Beim Verschieben eines Verzeichnisses wird automatisch der gesamte Inhalt mitverschoben.
- Der Befehl hat die Form
mv [SOURCE_DIRECTORY] [DESTINATION_DIRECTORY].
Veraltete Protokolldateien archivieren und entfernen
Ihre letzte Aufgabe ist eine kleine Aufräumarbeit. Im Verzeichnis ~/project/logs sammeln sich Protokolldateien an. Die Dateien aus dem Jahr 2023 werden für den täglichen Betrieb nicht mehr benötigt. Um Speicherplatz zu sparen und Ordnung zu schaffen, komprimieren Sie diese alten Protokolle in eine einzelne Archivdatei und entfernen anschließend die Originaldateien.
Der Befehl tar
Der Befehl tar ist ein leistungsfähiges Linux-Werkzeug zum Erstellen und Bearbeiten von Archivdateien. „Tar“ stand ursprünglich für „Tape Archive“, da das Werkzeug für das Schreiben von Daten auf Magnetbänder entwickelt wurde. Heute wird es meist zum Erstellen komprimierter Archivdateien auf Datenträgern verwendet.
Mit tar bündeln Sie mehrere Dateien in einer einzelnen Datei, dem sogenannten Archiv. Optional können Sie dieses Archiv komprimieren, um Speicherplatz zu sparen. Das gängigste Komprimierungsformat ist gzip. Es fügt dem Dateinamen die Erweiterung .gz hinzu.
Der Befehl tar verwendet verschiedene Optionen (Flags), um sein Verhalten zu steuern:
c: Ein neues Archiv erstellenz: Das Archiv mit gzip komprimierenf: Den Dateinamen des Archivs angeben
Der Befehl tar -czf archive.tar.gz file1 file2 erstellt beispielsweise ein neues komprimiertes Archiv namens archive.tar.gz, das file1 und file2 enthält.
Aufgaben
- Wechseln Sie in das Verzeichnis
~/project/logs. - Erstellen Sie ein komprimiertes tar-Archiv namens
old_logs.tar.gz, das alle Protokolldateien aus dem Jahr 2023 enthält. - Löschen Sie nach erfolgreicher Erstellung des Archivs die soeben archivierten Originaldateien aus dem Jahr 2023.
Anforderungen
- Das fertige Archiv muss genau
old_logs.tar.gzheißen. - Das Archiv muss sich im Verzeichnis
~/project/logsbefinden. - Es dürfen nur Protokolldateien archiviert und anschließend entfernt werden, deren Name
2023enthält. - Die Protokolldatei aus dem Jahr 2024 (
app_2024-05-01.log) darf weder in das Archiv aufgenommen noch gelöscht werden.
Beispiele
Vor dem Archivieren enthält Ihr Protokollverzeichnis:
~/project/logs/
├── app_2023-01-15.log
├── app_2024-05-01.log
└── db_2023-02-20.log
Nach Abschluss der Archivierungsaufgabe sollte Ihr Protokollverzeichnis so aussehen:
~/project/logs/
├── app_2024-05-01.log
└── old_logs.tar.gz
Wenn Sie im Verzeichnis ~/project/logs/ ls ausführen, sollte folgende Ausgabe erscheinen:
app_2024-05-01.log old_logs.tar.gz
Hinweise
- Verwenden Sie den Befehl
tar, um Archive zu erstellen. Die Optionen-czfsind eine leistungsfähige Kombination:c(erstellen),z(mit gzip komprimieren) undf(Dateiname angeben). - Mit einem Platzhalter (
*) können Sie mehrere Dateien auswählen, die einem Muster entsprechen. Beispielsweise findet*_2023-*.logalle Dateien, die mit.logenden und_2023-in ihrem Namen enthalten. - Mit dem Befehl
rmentfernen (löschen) Sie Dateien. Seien Sie bei der Verwendung von Platzhaltern vorsichtig!
Zusammenfassung
Hervorragende Arbeit, digitaler Architekt! Sie haben Project Phoenix erfolgreich von einem chaotischen Zustand in eine gut organisierte Entwicklungsumgebung verwandelt. Sarah Chen und das gesamte Entwicklungsteam sind von Ihrer Arbeit begeistert. Sie haben eine logische Verzeichnisstruktur aufgebaut, wichtige Dateien organisiert, Konfigurationen durch Sicherungskopien geschützt und Systemressourcen durch das Archivieren alter Protokolle bereinigt.
Diese grundlegenden Linux-Kommandozeilenkenntnisse – mkdir, mv, cp, tar und rm – bilden das Fundament der professionellen Systemadministration. Ihre organisatorische Arbeit hat heute eine solide Grundlage geschaffen, die Project Phoenix während des gesamten Entwicklungszyklus unterstützen wird.
Das Entwicklungsteam kann nun effizient in der strukturierten Umgebung arbeiten. Morgen erwartet Sie eine neue Herausforderung als Log-Ermittler, wenn das Team auf die ersten technischen Probleme stößt. Ihr systematisches Vorgehen bei der Organisation wird Ihnen bei der Fehlersuche sehr nützlich sein!



