Linux mkdir Befehl: Verzeichnisse erstellen

LinuxBeginner
Jetzt üben

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:

  • notes könnte kurze Gedanken oder tägliche Reflexionen enthalten.
  • projects könnte längerfristige Arbeiten oder Studien beherbergen.
  • resources dient 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_app innerhalb von projects.
  • Innerhalb von web_app erstellt er einen Ordner src.
  • Schließlich erstellt er innerhalb von src einen Ordner components.

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:

  • mkdir erstellt das Verzeichnis.
  • -m 700 setzt 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:

  1. Einzelne Verzeichnisse erstellt.
  2. Mehrere Verzeichnisse gleichzeitig anlegt.
  3. Verschachtelte Verzeichnisstrukturen mit der Option -p erstellt.
  4. Spezifische Berechtigungen beim Erstellen mit der Option -m festlegt.
  5. Den Verbose-Modus -v fü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.

Ressourcen