Der mkdir-Befehl: Die grundlegende Syntax
Der mkdir
-Befehl (make directory) ist das grundlegende Tool zum Erstellen neuer Verzeichnisse (Ordner) unter Linux-Systemen. Seine Syntax ist einfach und leicht zu merken:
mkdir [Optionen] Verzeichnisname
Syntax des Verzeichnisnamens
Der Verzeichnisname
ist der Name des zu erstellenden Verzeichnisses. Du kannst alphanumerische Zeichen, Punkte (.) und Unterstriche (_) verwenden. Verzeichnisnamen sollten nicht mit einem Leerzeichen beginnen, da dies zu Problemen führen kann.
Optionen
Der mkdir
-Befehl bietet mehrere Optionen, um die Erstellung von Verzeichnissen anzupassen:
-p: Erstellt alle übergeordneten Verzeichnisse, die nicht existieren.
-v: Ausführliche Ausgabe. Zeigt den Namen jedes erstellten Verzeichnisses an.
-m: Setzt die Modi der neuen Verzeichnisse.
-Z: Setzt die SELinux-Sicherheitskontext-Optionen der neuen Verzeichnisse.
Beispiele für die grundlegende Syntax
Um ein Verzeichnis namens Dokumente
in deinem aktuellen Verzeichnis zu erstellen, führe folgenden Befehl aus:
mkdir Dokumente
Um ein Verzeichnis namens Arbeit
innerhalb des Verzeichnisses Dokumente
zu erstellen, verwende folgenden Befehl:
mkdir Dokumente/Arbeit
Um ein verstecktes Verzeichnis namens .privates
zu erstellen, verwende folgenden Befehl:
mkdir .privates
Verwendung des -p-Flags: Übergeordnete Verzeichnisse automatisch erstellen
Das -p
-Flag ist eine praktische Option für den mkdir
-Befehl, mit der du übergeordnete Verzeichnisse erstellen kannst, wenn sie nicht bereits existieren. Dies kann dir viel Zeit und Mühe ersparen, insbesondere wenn du Verzeichnisse in tief verschachtelten Verzeichnishierarchien anlegen musst.
Verwendung des -p-Flags
Um das -p
-Flag zu verwenden, füge es einfach nach dem mkdir
-Befehl ein, gefolgt vom Pfad zum Verzeichnis, das du erstellen möchtest. Beispielsweise:
mkdir -p /home/benutzer/Dokumente/Neuer Ordner
Dieser Befehl erstellt das Verzeichnis Neuer Ordner
im Verzeichnis Dokumente
innerhalb des Home-Verzeichnisses des Benutzers. Wenn das Verzeichnis Dokumente
nicht bereits existiert, wird es vom mkdir
-Befehl mit dem -p
-Flag automatisch erstellt. Dies gilt auch für alle anderen übergeordneten Verzeichnisse, die im Pfad fehlen, z. B. das Verzeichnis home
oder das Root-Verzeichnis /
.
Vorteile der Verwendung des -p-Flags
Die Verwendung des -p
-Flags bietet mehrere Vorteile:
- Zeitersparnis: Du musst nicht jeden Ordner in der Hierarchie manuell erstellen, wodurch du Zeit sparst.
-
Fehlerreduzierung: Das
-p
-Flag hilft dabei, Fehler zu vermeiden, die auftreten können, wenn du versuchst, ein Verzeichnis in einem nicht vorhandenen übergeordneten Verzeichnis zu erstellen. -
Verbesserte Organisation: Das
-p
-Flag trägt dazu bei, deine Verzeichnisse auf organisierte und strukturierte Weise zu erstellen.
Überlegungen
Denke daran, dass das -p
-Flag den Eigentümer und die Berechtigungen der erstellten übergeordneten Verzeichnisse nicht ändert. Diese werden von den Standardeinstellungen des Systems bestimmt. Wenn du die Berechtigungen der übergeordneten Verzeichnisse festlegen möchtest, kannst du die Option -m
oder --mode
verwenden.
Insgesamt ist das -p
-Flag eine leistungsstarke Option, die das Erstellen von Verzeichnissen in Linux vereinfacht. Es spart Zeit, reduziert Fehler und hilft dir, deine Verzeichnishierarchien organisiert zu halten.
Erstellen von Verzeichnissen mit versteckten Namen
Wenn du ein Verzeichnis mit einem verborgenen Namen erstellen möchtest, füge einfach einen Punkt (.) vor den Verzeichnisnamen ein. Dies weist die Shell an, das Verzeichnis als verstecktes Verzeichnis zu behandeln.
Vorgehensweise
-
Öffne ein Terminalfenster.
-
Navigiere zum übergeordneten Verzeichnis des neuen Verzeichnisses.
-
Führe den folgenden Befehl aus, wobei
verzeichnisname
durch den gewünschten Namen des versteckten Verzeichnisses ersetzt wird:mkdir .verzeichnisname
Beispiel
Um ein verstecktes Verzeichnis mit dem Namen ".versteckt" im aktuellen Arbeitsverzeichnis zu erstellen, würdest du den folgenden Befehl ausführen:
mkdir .versteckt
Häufige Fragen
Was ist der Vorteil versteckter Verzeichnisse?
Versteckte Verzeichnisse werden verwendet, um Dateien und Verzeichnisse aus der normalen Ansicht zu entfernen. Sie sind nützlich, um sensible Daten oder Konfigurationsdateien zu speichern, auf die du gelegentlich zugreifen musst, die aber nicht ständig sichtbar sein sollen.
Kannst du versteckte Verzeichnisse über den Dateimanager anzeigen?
Ja, die meisten Dateimanager verfügen über eine Option zum Anzeigen versteckter Dateien und Verzeichnisse. In Nautilus (dem Standard-Dateimanager in Ubuntu) kannst du dies tun, indem du auf "Ansicht" > "Versteckte Dateien anzeigen" gehst.
Wie blendest du versteckte Verzeichnisse im Terminal ein?
Um versteckte Verzeichnisse im Terminal einzublenden, kannst du den Befehl ls -a
verwenden. Dies zeigt alle Dateien und Verzeichnisse im aktuellen Verzeichnis an, einschließlich versteckter Dateien und Verzeichnisse.
Verzeichnisse mit Berechtigungen erstellen
Bei der Erstellung eines Verzeichnisses kannst du dessen Berechtigungen festlegen. Diese Berechtigungen steuern, wer auf das Verzeichnis zugreifen und es bearbeiten darf.
Zulässige Berechtigungen
Die Berechtigungen für Verzeichnisse werden in drei Gruppen unterteilt:
- Besitzer: Der Benutzer, der das Verzeichnis erstellt hat.
- Gruppe: Die Gruppe, zu der der Besitzer gehört.
- Andere: Alle Benutzer, die nicht Besitzer oder Mitglied der Gruppe sind.
Für jede Gruppe kannst du die folgenden Berechtigungen festlegen:
- r (Leseberechtigung): Ermöglicht das Lesen des Verzeichnisinhalts.
- w (Schreibberechtigung): Ermöglicht das Erstellen, Umbenennen und Löschen von Dateien und Unterverzeichnissen innerhalb des Verzeichnisses.
- x (Ausführungsberechtigung): Ermöglicht das Navigieren in das Verzeichnis.
Berechtigungen festlegen
Um die Berechtigungen für ein Verzeichnis festzulegen, verwende die Option -m
oder --mode
des mkdir
-Befehls. Du kannst einen numerischen oder einen symbolischen Modus angeben.
Numerischer Modus
Im numerischen Modus wird die Berechtigung als dreistellige Oktalzahl angegeben. Jede Ziffer steht für eine Berechtigungsgruppe (Besitzer, Gruppe, Andere) und jede Ziffer entspricht der Summe der Berechtigungen für diese Gruppe.
Zum Beispiel legt der numerische Modus 755
die folgenden Berechtigungen fest:
- Besitzer: rwx (7)
- Gruppe: r-x (5)
- Andere: r-x (5)
Symbolischer Modus
Im symbolischen Modus wird die Berechtigung als Zeichenfolge angegeben, die aus den folgenden Symbolen bestehen kann:
- u: Besitzer
- g: Gruppe
- o: Andere
- a: Alle (Kombination aus u, g und o)
- r: Leseberechtigung
- w: Schreibberechtigung
- x: Ausführungsberechtigung
- +: Berechtigung hinzufügen
- -: Berechtigung entfernen
Zum Beispiel legt der symbolische Modus ugo+rwx
die folgenden Berechtigungen fest:
- Besitzer: rwx (Hinzufügen von r, w und x)
- Gruppe: rwx (Hinzufügen von r, w und x)
- Andere: rwx (Hinzufügen von r, w und x)
Beispiel
Um ein Verzeichnis mit dem Namen "Projekt" zu erstellen und dem Besitzer und der Gruppe Leseberechtigungen sowie dem Besitzer zusätzlich Schreibberechtigungen zu gewähren, kannst du den folgenden Befehl verwenden:
mkdir -m 750 Projekt
Verzeichnisse mit unterschiedlichen Besitzern erstellen
In bestimmten Fällen musst du möglicherweise ein Verzeichnis erstellen, das einem anderen Benutzer oder einer anderen Gruppe gehört. Dies ist hilfreich, wenn du die Berechtigungen für bestimmte Dateien oder Verzeichnisse einschränken möchtest.
Verwendung des –chown-Flags
Um ein Verzeichnis mit einem anderen Besitzer zu erstellen, verwende das --chown
-Flag:
mkdir --chown benutzername verzeichnisname
Ersetze benutzername
durch den Benutzernamen des Besitzers, den du zuweisen möchtest.
Verwendung des -m-Flags
Du kannst auch das -m
-Flag verwenden, um das Verzeichnis mit den Berechtigungen des übergeordneten Verzeichnisses zu erstellen. Dies ist praktisch, wenn du mehrere Verzeichnisse mit demselben Besitzer erstellen möchtest.
mkdir -m 755 --chown benutzername verzeichnisname
In diesem Beispiel wird das Verzeichnis verzeichnisname
mit den Berechtigungen 755
(rwxr-xr-x) erstellt und gehört dem Benutzer benutzername
.
Ein Benutzer muss existieren
Beachte, dass der angegebene Benutzer bereits existieren muss, damit die Änderung der Eigentümerschaft erfolgreich ist. Andernfalls wird ein Fehler ausgegeben.
Zusätzliche Überlegungen
- Überprüfe die Berechtigungen für das übergeordnete Verzeichnis. Der Benutzer, der den mkdir-Befehl ausführt, muss über Schreibberechtigungen für das übergeordnete Verzeichnis verfügen, um ein neues Verzeichnis zu erstellen.
- Wenn du versuchst, die Eigentümerschaft eines Verzeichnisses zu ändern, das bereits Dateien enthält, werden die Berechtigungen für diese Dateien nicht geändert.
- Du kannst das
--recursive
-Flag verwenden, um die Eigentümerschaft rekursiv für alle Unterverzeichnisse zu ändern.
Mehrere Verzeichnisse auf einmal erstellen
Du kannst den mkdir
-Befehl verwenden, um mehrere Verzeichnisse auf einmal zu erstellen. Verwende dazu einfach mehrere Verzeichnisnamen als Argumente.
Syntax
mkdir directory1 directory2 directory3 ...
Beispiel
Angenommen, du möchtest die Verzeichnisse Verzeichnis1
, Verzeichnis2
und Verzeichnis3
im aktuellen Arbeitsverzeichnis erstellen. Du würdest den folgenden Befehl verwenden:
mkdir Verzeichnis1 Verzeichnis2 Verzeichnis3
Übergeordnete Verzeichnisse implizit erstellen
Wenn du Verzeichnisse in nicht existierenden übergeordneten Verzeichnissen erstellen möchtest, kannst du das -p
-Flag verwenden. Dadurch werden die übergeordneten Verzeichnisse automatisch erstellt.
Syntax
mkdir -p directory1/subdirectory1 directory2/subdirectory2
Beispiel
Angenommen, du möchtest das Verzeichnis Unterverzeichnis1
im Verzeichnis Verzeichnis1
und das Verzeichnis Unterverzeichnis2
im Verzeichnis Verzeichnis2
erstellen, die beide noch nicht existieren. Du würdest den folgenden Befehl verwenden:
mkdir -p Verzeichnis1/Unterverzeichnis1 Verzeichnis2/Unterverzeichnis2
Verzeichnisse mit einer bestimmten Gruppe erstellen
Bei der Erstellung neuer Verzeichnisse kannst du auch angeben, welcher Gruppe sie gehören sollen. Dies ist nützlich, wenn du bestimmte Berechtigungen für bestimmte Benutzergruppen festlegen möchtest.
-g-Flag
Verwende das -g
-Flag, gefolgt vom Gruppennamen oder der Gruppen-ID, um ein Verzeichnis mit einer bestimmten Gruppe zu erstellen. So erstellst du beispielsweise ein Verzeichnis namens sales
mit der Gruppe marketing
:
mkdir -g marketing sales
Gruppen-ID
Alternativ kannst du auch die Gruppen-ID anstelle des Gruppennamens verwenden. Dies ist nützlich, wenn du die Gruppen-ID kennst, aber nicht den Namen. Um beispielsweise ein Verzeichnis mit der Gruppen-ID 1000
zu erstellen, würdest du Folgendes eingeben:
mkdir -g 1000 sales
Weitere Hinweise
- Wenn die Gruppe nicht existiert, wird
mkdir
einen Fehler ausgeben. - Wenn du nicht Mitglied der angegebenen Gruppe bist oder keine Berechtigung zum Erstellen von Verzeichnissen in dem übergeordneten Verzeichnis hast, wird
mkdir
ebenfalls einen Fehler ausgeben.
Erstellen von Verzeichnissen in einem schreibgeschützten Dateisystem
Ein schreibgeschütztes Dateisystem ist ein Dateisystem, das keine Änderungen wie das Erstellen neuer Dateien oder Verzeichnisse zulässt. Wenn du versuchst, ein Verzeichnis in einem schreibgeschützten Dateisystem mit dem mkdir
-Befehl zu erstellen, erhältst du eine Fehlermeldung.
Es gibt jedoch einige Möglichkeiten, Verzeichnisse in einem schreibgeschützten Dateisystem zu erstellen:
Verwendung von mount -o remount,rw
Eine Möglichkeit besteht darin, das Dateisystem mit Lese- und Schreibberechtigungen neu einzubinden. Dazu verwendest du den Befehl mount
:
sudo mount -o remount,rw /dev/sda1 /mnt/verzeichnis
Ersetze /dev/sda1
durch das Gerät, auf dem sich das schreibgeschützte Dateisystem befindet. Ersetze /mnt/verzeichnis
durch den Einhängepunkt des Dateisystems.
Verwendung von tmpfs
Eine andere Möglichkeit besteht darin, ein temporäres Dateisystem zu erstellen, das nicht schreibgeschützt ist. Dazu verwendest du den Befehl mount
:
sudo mount -t tmpfs tmpfs /mnt/verzeichnis
Ersetze /mnt/verzeichnis
durch den Einhängepunkt des temporären Dateisystems.
Sobald du ein schreibbares Dateisystem gemountet hast, kannst du neue Verzeichnisse mit dem mkdir
-Befehl erstellen. Sobald du fertig bist, kannst du das Dateisystem mit folgendem Befehl aushängen:
sudo umount /mnt/verzeichnis
Verwendung von schreibgeschützten Flaggen
Wenn du nur vorübergehend ein Verzeichnis in einem schreibgeschützten Dateisystem erstellen möchtest, kannst du die schreibgeschützte Flags -r
oder -w
verwenden. Dies verhindert, dass Änderungen an dem Verzeichnis vorgenommen werden, es sei denn, du gibst den Befehl mit Root-Rechten aus.
mkdir -r /mnt/verzeichnis
mkdir -w /mnt/verzeichnis
Fehlerbehebung
Wenn du beim Erstellen eines Verzeichnisses in einem schreibgeschützten Dateisystem auf Fehler stößt, überprüfe Folgendes:
-
Ist das Dateisystem schreibgeschützt? Verwende den Befehl
mount
mit der Option-l
, um zu überprüfen, ob das Dateisystem als schreibgeschützt gemountet ist. - Hast du die richtigen Berechtigungen? Stelle sicher, dass du über Root-Rechte verfügst oder dass dein Benutzer zu einer Gruppe gehört, die über Schreibberechtigungen für das Dateisystem verfügt.
-
Ist das Dateisystem voll? Überprüfe mit dem Befehl
df
, ob das Dateisystem voll ist.
Fehlerbehebung bei mkdir-Befehlen
Wenn du beim Erstellen neuer Ordner mit dem mkdir-Befehl auf Probleme stößt, findest du hier einige Tipps zur Fehlerbehebung:
Berechtigungen prüfen
Stelle sicher, dass du über die erforderlichen Berechtigungen verfügst, um Ordner im Zielverzeichnis zu erstellen. Du musst über Schreibberechtigungen für das übergeordnete Verzeichnis verfügen.
Pfadüberprüfung
Überprüfe, ob der angegebene Pfad korrekt ist. Stelle sicher, dass alle Verzeichnisse im Pfad vorhanden sind und du den richtigen Namen für das neue Verzeichnis verwendest.
Schreibgeschütztes Dateisystem
Wenn du versuchst, in einem schreibgeschützten Dateisystem einen Ordner zu erstellen, erhältst du eine Fehlermeldung. Du musst das Dateisystem mounten, indem du die Option -o remount,rw
verwendest, um Schreibberechtigungen zu erlangen.
Speicherplatz prüfen
Stelle sicher, dass auf dem Dateisystem genügend freier Speicherplatz vorhanden ist, um den neuen Ordner zu erstellen.
Bash-Shell verwenden
Verwende die Bash-Shell, um den mkdir-Befehl auszuführen. Andere Shells wie Dash oder Zsh unterstützen möglicherweise nicht alle Funktionen des mkdir-Befehls.
Fehlermeldungen interpretieren
Wenn der mkdir-Befehl fehlschlägt, wird eine Fehlermeldung ausgegeben. Analysiere die Fehlermeldung sorgfältig, um die Ursache des Problems zu identifizieren. Häufige Fehlermeldungen sind:
-
Permission denied
: Du verfügst nicht über die erforderlichen Berechtigungen zum Erstellen des Ordners. -
No such file or directory
: Der angegebene Pfad existiert nicht. -
File exists
: Das neue Verzeichnis existiert bereits. -
Read-only file system
: Das Dateisystem ist schreibgeschützt. -
Invalid argument
: Der bereitgestellte Pfad oder die Berechtigungen sind ungültig.