Einführung
In diesem Praktikum werden wir uns mit dem mkdir-Befehl in Linux vertraut machen, einem grundlegenden Werkzeug zum Erstellen und Organisieren von Verzeichnissen. Wir simulieren dabei den Aufbau eines "Digital Garden" – eines persönlichen Wissensmanagementsystems –, um zu lernen, wie man mkdir in verschiedenen Szenarien effektiv einsetzt. Diese praktische Erfahrung wird Ihnen helfen, das Erstellen von Verzeichnissen, verschachtelten Strukturen und Berechtigungseinstellungen in Linux zu verstehen, selbst wenn Sie völlig neu auf der Kommandozeile sind.
Die Wurzel Ihres Digital Garden erstellen
Beginnen wir damit, das Hauptverzeichnis (Root) für Ihren digitalen Garten anzulegen.
Öffnen Sie zuerst Ihr Terminal. Sie sehen eine Eingabeaufforderung (Prompt), die etwa so aussieht:
labex:project/$
Dies zeigt an, dass Sie sich im Verzeichnis /home/labex/project befinden, was ideal für unser Praktikum ist.
Erstellen wir nun ein Verzeichnis mit dem Namen digital_garden:
mkdir digital_garden
Hier steht mkdir für "make directory" (Verzeichnis erstellen). Dieser Befehl erzeugt einen neuen Ordner namens digital_garden an Ihrem aktuellen Standort.
Um zu überprüfen, ob das Verzeichnis erstellt wurde, verwenden wir den Befehl ls, der den Inhalt eines Verzeichnisses auflistet:
ls
Sie sollten digital_garden in der Ausgabe sehen. Falls nicht, keine Sorge! Versuchen Sie den mkdir-Befehl einfach noch einmal.
Hauptbereiche hinzufügen
In einem digitalen Garten möchten Sie Ihre Gedanken wahrscheinlich in Hauptkategorien organisieren. Erstellen wir Verzeichnisse für verschiedene Arten von Inhalten.
Wir werden drei Verzeichnisse innerhalb unseres digital_garden anlegen: 'notes', 'projects' und 'resources'. Dies können Sie mit drei separaten Befehlen erledigen:
mkdir ~/project/digital_garden/notes
mkdir ~/project/digital_garden/projects
mkdir ~/project/digital_garden/resources
Dabei ist ~/project/digital_garden/ der vollständige Pfad zu unserem digitalen Garten. Das Zeichen ~ ist eine Abkürzung für das "Home-Verzeichnis".
Um die neue Struktur zu sehen, nutzen Sie den ls-Befehl mit dem Pfad zu Ihrem digitalen Garten:
ls ~/project/digital_garden
Sie sollten die drei neuen Verzeichnisse aufgelistet sehen: notes, projects und resources.
Falls Sie sich fragen, wofür diese Verzeichnisse gedacht sein könnten:
noteskönnte kurze Gedanken oder tägliche Reflexionen enthalten.projectskönnte längerfristige Arbeiten oder Studien beherbergen.resourcesdient zum Speichern von Referenzmaterialien.
Verschachtelte Verzeichnisse erstellen
Oft möchte man Verzeichnisse innerhalb anderer Verzeichnisse erstellen, um eine hierarchische Struktur aufzubauen. Die Option -p ermöglicht es Ihnen, übergeordnete Verzeichnisse (Parent Directories) bei Bedarf automatisch mitzuerstellen, was bei tiefen Strukturen sehr praktisch ist.
Erstellen wir eine verschachtelte Struktur für ein hypothetisches Web-App-Projekt:
mkdir -p ~/project/digital_garden/projects/web_app/src/components
Dieser Befehl erledigt vieles auf einmal:
- Er erstellt einen Ordner
web_appinnerhalb vonprojects. - Innerhalb von
web_apperstellt er einen Ordnersrc. - Schließlich erstellt er innerhalb von
srceinen Ordnercomponents.
Die Option -p (denken Sie an "parents") weist mkdir an, alle fehlenden übergeordneten Verzeichnisse auf dem Weg mitzuerstellen. Ohne -p würden Sie eine Fehlermeldung erhalten, wenn ein Teil des Pfades noch nicht existiert.
Um diese neue Struktur zu sehen, verwenden wir den ls-Befehl mit der Option -R, die den Inhalt rekursiv anzeigt:
ls -R ~/project/digital_garden/projects/web_app
Die verschachtelte Verzeichnisstruktur sollte nun angezeigt werden.
Verzeichnisberechtigungen festlegen
Beim Erstellen von Verzeichnissen können Sie spezifische Berechtigungen festlegen. Dies ist nützlich, um zu kontrollieren, wer auf Dateien im Verzeichnis zugreifen, sie ändern oder ausführen darf.
Erstellen wir ein Verzeichnis namens 'private' mit eingeschränkten Zugriffsrechten:
mkdir -m 700 ~/project/digital_garden/private
Das bewirkt Folgendes:
mkdirerstellt das Verzeichnis.-m 700setzt die Berechtigungen (Mode).- 7: Lesen, Schreiben und Ausführen für den Besitzer.
- 0: Keine Berechtigungen für die Gruppe.
- 0: Keine Berechtigungen für andere.
Mit anderen Worten: Nur Sie (der Besitzer) können auf dieses Verzeichnis zugreifen.
Um die Berechtigungen zu überprüfen, nutzen Sie:
ls -ld ~/project/digital_garden/private
Die Ausgabe sollte etwa so aussehen:
drwx------ 2 labex labex 6 Aug 7 18:40 /home/labex/project/digital_garden/private
Dabei bedeutet drwx------:
d: Es handelt sich um ein Verzeichnis (Directory).rwx: Sie (der Besitzer) haben Lese- (read), Schreib- (write) und Ausführungsrechte (execute).------: Weder Ihre Gruppe noch andere Personen haben irgendwelche Rechte.
Den Verbose-Modus nutzen
Der Verbose-Modus (ausführlicher Modus) ist hilfreich, wenn man mehrere Verzeichnisse gleichzeitig erstellt, da er eine Rückmeldung über jeden einzelnen Erstellungsvorgang gibt. Dies ist besonders nützlich, um sicherzustellen, dass alles korrekt angelegt wurde.
Erstellen wir mehrere Verzeichnisse im Verbose-Modus:
mkdir -v ~/project/digital_garden/resources/books ~/project/digital_garden/resources/articles ~/project/digital_garden/resources/videos
Die Option -v steht für "verbose". Sie weist mkdir an, für jedes erstellte Verzeichnis eine Nachricht auszugeben.
Sie sollten eine Ausgabe ähnlich dieser sehen:
mkdir: created directory '/home/labex/project/digital_garden/resources/books'
mkdir: created directory '/home/labex/project/digital_garden/resources/articles'
mkdir: created directory '/home/labex/project/digital_garden/resources/videos'
Diese Rückmeldung kann in komplexen Skripten oder bei der Fehlersuche sehr wertvoll sein.
Optionen kombinieren
Sie können mehrere Optionen bei mkdir kombinieren. Dies erlaubt es Ihnen, komplexe Strukturen mit spezifischen Berechtigungen und ausführlicher Rückmeldung in einem einzigen Befehl zu erstellen.
Erstellen wir eine verschachtelte Struktur für ein Forschungsprojekt mit eingeschränkten Berechtigungen:
mkdir -pvm 750 ~/project/digital_garden/projects/research_paper/drafts ~/project/digital_garden/projects/research_paper/references
Lassen Sie uns das aufschlüsseln:
-p: Erstellt übergeordnete Verzeichnisse bei Bedarf.-v: Verbose-Modus, gibt eine Nachricht für jedes erstellte Verzeichnis aus.-m 750: Setzt Berechtigungen (Besitzer: voller Zugriff, Gruppe: Lesen und Ausführen, Andere: kein Zugriff).
Dieser Befehl erstellt zwei Verzeichnisse (drafts und references) innerhalb von research_paper, welches wiederum innerhalb von projects erstellt wird, falls es noch nicht existiert.
So prüfen Sie die Struktur und die Berechtigungen:
ls -lR ~/project/digital_garden/projects/research_paper
Sie sollten die verschachtelten Verzeichnisse mit den angegebenen Berechtigungen (drwxr-x---) sehen.
Visualisierung Ihres Digital Garden mit dem tree-Befehl
Nachdem wir die Struktur unseres digitalen Gartens aufgebaut haben, nutzen wir den tree-Befehl zur Visualisierung. Der tree-Befehl stellt die Verzeichnisstruktur in einem Baumformat dar, was sowohl informativ als auch übersichtlich ist.
Nutzen wir nun tree, um unseren digitalen Garten zu betrachten:
tree ~/project/digital_garden
Die Ausgabe sollte etwa so aussehen:
/home/labex/project/digital_garden
|-- notes
|-- private
|-- projects
| |-- research_paper
| | |-- drafts
| | `-- references
| `-- web_app
| `-- src
| `-- components
`-- resources
|-- articles
|-- books
`-- videos
13 directories, 0 files
Diese Baumstruktur gibt uns einen klaren Überblick. Wir sehen alle erstellten Verzeichnisse inklusive der Verschachtelungen.
Wenn Sie mehr Details sehen möchten, einschließlich der gesetzten Berechtigungen, können Sie die Option -p mit tree verwenden:
tree -p ~/project/digital_garden
Dies zeigt die Berechtigungen für jedes Verzeichnis an:
[drwxrwxr-x] /home/labex/project/digital_garden
|-- [drwxrwxr-x] notes
|-- [drwx------] private
|-- [drwxrwxr-x] projects
| |-- [drwxrwxr-x] research_paper
| | |-- [drwxr-x---] drafts
| | `-- [drwxr-x---] references
| `-- [drwxrwxr-x] web_app
| `-- [drwxrwxr-x] src
| `-- [drwxrwxr-x] components
`-- [drwxrwxr-x] resources
|-- [drwxrwxr-x] articles
|-- [drwxrwxr-x] books
`-- [drwxrwxr-x] videos
13 directories, 0 files
Diese visuelle Darstellung ist ein hervorragender Weg, um zu verifizieren, dass alle Verzeichnisse mit der korrekten Struktur und den richtigen Rechten angelegt wurden.
Dieser Schritt bildet einen gelungenen Abschluss unseres Praktikums, da wir das gesamte Ergebnis unserer Arbeit sehen können. Der tree-Befehl ist nicht nur für diese Übung nützlich, sondern ein wertvolles Werkzeug, um Verzeichnisstrukturen in Ihren zukünftigen Linux-Projekten zu navigieren und zu verstehen.
Zusammenfassung
In diesem Praktikum haben wir die Vielseitigkeit des mkdir-Befehls in Linux anhand der Erstellung eines digitalen Gartens erkundet. Wir haben gelernt, wie man:
- Einzelne Verzeichnisse erstellt.
- Mehrere Verzeichnisse gleichzeitig anlegt.
- Verschachtelte Verzeichnisstrukturen mit der Option
-perstellt. - Spezifische Berechtigungen beim Erstellen mit der Option
-mfestlegt. - Den Verbose-Modus
-vfür detaillierte Rückmeldungen nutzt.
Wir haben zudem gesehen, wie diese Optionen für komplexere Aufgaben kombiniert werden können.
Obwohl sie in unseren Übungen nicht direkt vorkamen, verfügt mkdir über einige weitere Parameter, die in speziellen Situationen nützlich sein können:
-Z: Setzt den SELinux-Sicherheitskontext jedes erstellten Verzeichnisses auf den Standardtyp.--context[=CTX]: Wie -Z, oder falls CTX angegeben ist, wird der SELinux- oder SMACK-Sicherheitskontext auf CTX gesetzt.--help: Zeigt eine Hilfeseite an und beendet das Programm.--version: Gibt Versionsinformationen aus und beendet das Programm.
Diese Fertigkeiten sind grundlegend für eine effiziente Organisation des Dateisystems in Linux-Umgebungen. Denken Sie daran: Auch wenn wir uns auf das Szenario eines digitalen Gartens konzentriert haben, lassen sich diese Techniken auf jede Situation anwenden, in der Sie Verzeichnisstrukturen in Linux verwalten müssen. Auf Ihrem weiteren Weg mit Linux wird mkdir ein unverzichtbares Werkzeug für die Organisation Ihrer Dateien und Projekte sein.



