Linux mkdir-Befehl: Verzeichnisse erstellen

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir den mkdir-Befehl in Linux erkunden, ein grundlegendes Werkzeug zum Erstellen und Organisieren von Verzeichnissen. Wir werden den Prozess der Einrichtung eines digitalen Gartens - eines persönlichen Wissensmanagementsystems - simulieren, um zu lernen, wie man mkdir in verschiedenen Szenarien effektiv einsetzen kann. Diese praktische Erfahrung wird Ihnen helfen, das Erstellen von Verzeichnissen, verschachtelte Strukturen und die Einstellung von Berechtigungen in Linux zu verstehen, auch wenn Sie mit der Kommandozeile noch überhaupt nicht vertraut sind.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 88% ist. Es hat eine positive Bewertungsrate von 99% von den Lernenden erhalten.

Erstellen des Root-Verzeichnisses für Ihren digitalen Garten

Beginnen wir damit, das Root-Verzeichnis für Ihren digitalen Garten zu erstellen.

Öffnen Sie zunächst Ihr Terminal. Sie werden eine Eingabeaufforderung sehen, die in etwa so aussieht:

labex:project/$

Dies zeigt an, dass Sie sich im Verzeichnis /home/labex/project befinden, was für unser Lab perfekt ist.

Jetzt erstellen wir ein Verzeichnis namens digital_garden:

mkdir digital_garden

Hier steht mkdir für "make directory" (Verzeichnis erstellen). Dieser Befehl erstellt einen neuen Ordner namens digital_garden an Ihrem aktuellen Ort.

Um zu überprüfen, ob das Verzeichnis erstellt wurde, verwenden wir den ls-Befehl, der den Inhalt eines Verzeichnisses auflistet:

ls

Sie sollten digital_garden in der Ausgabe sehen. Wenn Sie es nicht sehen, keine Sorge! Versuchen Sie einfach den mkdir-Befehl erneut.

Hinzufügen von Hauptabschnitten

In einem digitalen Garten möchten Sie möglicherweise Ihre Gedanken in Hauptkategorien organisieren. Erstellen wir nun Verzeichnisse für verschiedene Inhaltstypen.

Wir werden drei Verzeichnisse innerhalb unseres digital_garden-Verzeichnisses erstellen: 'notes' (Notizen), 'projects' (Projekte) und 'resources' (Ressourcen). Dies können Sie mit drei separaten Befehlen tun:

mkdir ~/project/digital_garden/notes
mkdir ~/project/digital_garden/projects
mkdir ~/project/digital_garden/resources

Hier ist ~/project/digital_garden/ der vollständige Pfad zu unserem digitalen Garten. Das ~ ist eine Abkürzung, die "Homedirectory" (Startverzeichnis) bedeutet.

Um die neue Struktur anzuzeigen, verwenden Sie den ls-Befehl mit dem Pfad zu Ihrem digitalen Garten:

ls ~/project/digital_garden

Sie sollten die drei neuen Verzeichnisse aufgeführt sehen: notes, projects und resources.

Wenn Sie sich fragen, wofür diese Verzeichnisse verwendet werden könnten:

  • notes könnte schnelle Gedanken oder tägliche Reflexionen speichern.
  • projects könnte längerfristige Arbeiten oder Studien enthalten.
  • resources könnte zur Speicherung von Referenzmaterialien dienen.

Erstellen von verschachtelten Verzeichnissen

Oft möchten Sie Verzeichnisse innerhalb anderer Verzeichnisse erstellen, um eine verschachtelte Struktur zu bilden. Die Option -p ermöglicht es Ihnen, bei Bedarf übergeordnete Verzeichnisse zu erstellen, was für tiefe Strukturen sehr praktisch ist.

Erstellen wir nun eine verschachtelte Struktur für ein hypothetisches Web-App-Projekt:

mkdir -p ~/project/digital_garden/projects/web_app/src/components

Dieser Befehl erledigt viel 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" - übergeordnete Verzeichnisse) teilt mkdir mit, alle fehlenden übergeordneten Verzeichnisse auf dem Weg zu erstellen. Ohne -p würden Sie einen Fehler erhalten, wenn ein Teil des Pfads noch nicht existierte.

Um diese neue Struktur anzuzeigen, verwenden Sie den ls-Befehl mit der Option -R, die den Inhalt rekursiv anzeigt:

ls -R ~/project/digital_garden/projects/web_app

Sie sollten die verschachtelte Verzeichnisstruktur angezeigt bekommen.

Einstellung von Verzeichnisberechtigungen

Beim Erstellen von Verzeichnissen können Sie bestimmte Berechtigungen festlegen. Dies ist nützlich, um zu kontrollieren, wer auf Dateien innerhalb des Verzeichnisses zugreifen, ändern oder ausführen kann.

Erstellen wir ein Verzeichnis namens 'private' mit eingeschränkten Berechtigungen:

mkdir -m 700 ~/project/digital_garden/private

Hier ist, was dies bewirkt:

  • mkdir erstellt das Verzeichnis.
  • -m 700 setzt die Berechtigungen:
    • 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, verwenden Sie:

ls -ld ~/project/digital_garden/private

Die Ausgabe sollte in etwa so aussehen:

drwx------ 2 labex labex 6 Aug  7 18:40 /home/labex/project/digital_garden/private

Hier bedeutet drwx------:

  • d: Es handelt sich um ein Verzeichnis.
  • rwx: Sie (der Besitzer) haben Lesen-, Schreib- und Ausführungsberechtigungen.
  • ------: Weder Ihre Gruppe noch andere haben irgendwelche Berechtigungen.

Verwenden des ausführlichen Modus (Verbose Mode)

Der ausführliche Modus kann hilfreich sein, wenn Sie mehrere Verzeichnisse erstellen, da er Rückmeldung über jede Erstellung gibt. Dies ist besonders nützlich, wenn Sie viele Verzeichnisse auf einmal erstellen und sicherstellen möchten, dass alle korrekt erstellt werden.

Erstellen wir mehrere Verzeichnisse im ausführlichen 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" (ausführlich). Sie teilt mkdir mit, für jedes erstellte Verzeichnis eine Meldung auszugeben.

Sie sollten eine Ausgabe ähnlich der folgenden 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 beim Fehlersuchen sehr hilfreich sein.

Kombinieren von Optionen

Sie können mehrere Optionen mit mkdir kombinieren. Dies ermöglicht es Ihnen, komplexe Strukturen mit bestimmten Berechtigungen und einer ausführlichen Ausgabe in einem einzigen Befehl zu erstellen.

Erstellen wir eine verschachtelte Struktur für ein hypothetisches Forschungsvorhaben mit eingeschränkten Berechtigungen:

mkdir -pvm 750 ~/project/digital_garden/projects/research_paper/drafts ~/project/digital_garden/projects/research_paper/references

Lassen Sie uns diesen Befehl zerlegen:

  • -p: Erstellt bei Bedarf übergeordnete Verzeichnisse.
  • -v: Ausführlicher Modus (Verbose Mode), gibt für jedes erstellte Verzeichnis eine Meldung aus.
  • -m 750: Setzt die Berechtigungen (Besitzer: volle Zugriffsberechtigungen, Gruppe: Lesen und Ausführen, andere: kein Zugriff).

Dieser Befehl erstellt zwei Verzeichnisse (drafts und references) innerhalb von research_paper, das wiederum innerhalb von projects erstellt wird, falls es noch nicht existiert.

Um die Struktur und die Berechtigungen zu überprüfen:

ls -lR ~/project/digital_garden/projects/research_paper

Sie sollten die verschachtelten Verzeichnisse mit den angegebenen Berechtigungen (drwxr-x---) sehen.

Visualisierung Ihres digitalen Gartens mit dem tree-Befehl

Nachdem wir nun die Struktur unseres digitalen Gartens erstellt haben, verwenden wir den tree-Befehl, um sie zu visualisieren. Der tree-Befehl zeigt die Verzeichnisstruktur in einem baumähnlichen Format an, das sowohl informativ als auch optisch ansprechend ist.

Nun verwenden wir tree, um die Struktur unseres digitalen Gartens anzuzeigen:

tree ~/project/digital_garden

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

/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 über unseren digitalen Garten. Wir können alle von uns erstellten Verzeichnisse sehen, einschließlich der verschachtelten Strukturen.

Wenn Sie mehr Details, einschließlich der von uns festgelegten Berechtigungen, sehen möchten, können Sie die Option -p mit tree verwenden:

tree -p ~/project/digital_garden

Dadurch werden die Berechtigungen für jedes Verzeichnis angezeigt, wie hier:

[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 eine großartige Möglichkeit, zu überprüfen, ob wir alle beabsichtigten Verzeichnisse mit der richtigen Struktur und den richtigen Berechtigungen erstellt haben.

Dieser Schritt bietet ein befriedigendes Ende für unser Lab, da wir die gesamte von uns erbaute Struktur sehen können. Der tree-Befehl ist nicht nur für diese Übung nützlich, sondern auch ein wertvolles Werkzeug für die Navigation und das Verständnis von Verzeichnisstrukturen in Ihren zukünftigen Linux-Projekten.

Zusammenfassung

In diesem Lab haben wir die Vielseitigkeit des mkdir-Befehls in Linux erkundet, indem wir die Erstellung eines digitalen Gartens simuliert haben. Wir haben gelernt, wie man:

  1. Einzelne Verzeichnisse erstellt
  2. Mehrere Verzeichnisse auf einmal erstellt
  3. Verschachtelte Verzeichnisstrukturen mit der Option -p erstellt
  4. Spezifische Berechtigungen beim Erstellen von Verzeichnissen mit der Option -m festlegt
  5. Den ausführlichen Modus -v für detaillierte Rückmeldungen verwendet

Wir haben auch gesehen, wie diese Optionen für komplexere Operationen kombiniert werden können.

Obwohl in unseren Übungen nicht behandelt, hat mkdir einige zusätzliche Parameter, die in bestimmten Situationen nützlich sein können:

  • -Z: Setzt den SELinux-Sicherheitskontext jedes erstellten Verzeichnisses auf den Standardtyp.
  • --context[=CTX]: Wie -Z, oder wenn CTX angegeben ist, setzt den SELinux- oder SMACK-Sicherheitskontext auf CTX.
  • --help: Zeigt eine Hilfemeldung an und beendet das Programm.
  • --version: Gibt Versionsinformationen aus und beendet das Programm.

Diese Fähigkeiten sind grundlegend für eine effiziente Dateisystemorganisation in Linux-Umgebungen. Denken Sie daran, dass diese Techniken, obwohl wir uns auf ein Szenario mit einem digitalen Garten konzentriert haben, auf jede Situation anwendbar sind, in der Sie Verzeichnisstrukturen in Linux erstellen und verwalten müssen. Wenn Sie Ihre Linux-Reise fortsetzen, werden Sie feststellen, dass mkdir ein unverzichtbares Werkzeug für die Organisation Ihrer Dateien und Projekte ist.

Ressourcen