Linux / Befehl / mkdir / Befehl zum Erstellen von Verzeichnissen

Unter Linux ist mkdir der Befehl, um ein neues Verzeichnis zu erstellen. Um einen mehrstufigen Pfad auf einmal zu erstellen, verwenden Sie -p, mit dem vorhandene Verzeichnisse unverändert bleiben, während fehlende übergeordnete Verzeichnisse erstellt werden.

Verzeichnisse erstellen und überprüfen

mkdir steht für das englische make directory (Verzeichnis erstellen). Der folgende Befehl erstellt ein Verzeichnis mit dem Namen projects im aktuellen Verzeichnis, wenn es nicht existiert, und überprüft das Ergebnis. Führen Sie es in einem leeren Übungsordner aus, um Verwechslungen mit bestehenden Daten zu vermeiden.

pwd
mkdir projects
ls -ld projects

Überprüfen Sie zunächst den aktuellen Arbeitsort mit pwd und prüfen Sie dann, ob die neuen Verzeichnisinformationen in ls -ld angezeigt werden. mkdir zeigt normalerweise keine Meldung an, wenn es erfolgreich war. Wenn bereits eine Datei oder ein Verzeichnis mit demselben Namen existiert, zeigt der Standardbefehl einen Fehler an.

Relative Pfade basieren auf dem aktuellen Standort, und absolute Pfade, die wie / beginnen, wie /home/user/projects, werden vom Stammverzeichnis aus angegeben. Überprüfen Sie den tatsächlichen Pfad und die Zugriffsberechtigungen entsprechend Ihrer Umgebung.

Zusammen mit übergeordneten Verzeichnissen erstellen

Der folgende Befehl erstellt die erforderlichen übergeordneten Verzeichnisse, falls sie nicht existieren. Zum Beispiel, wenn work am Übungsort nicht existiert, werden work, work/reports und work/reports/2024 der Reihe nach erstellt.

mkdir -p work/reports/2024
ls -ld work work/reports work/reports/2024

Wenn Sie mkdir work/reports/2024 ohne -p ausführen, schlägt es fehl, wenn der übergeordnete Pfad nicht existiert. Das Hinzufügen von -p verursacht keinen Fehler, nur weil der Pfad bereits als Verzeichnis existiert. Es löscht keine vorhandenen Inhalte und ändert keine bestehenden Verzeichnisberechtigungen.

Wenn sich jedoch in der Mitte des Pfades eine reguläre Datei mit demselben Namen befindet oder Sie nicht die erforderlichen Berechtigungen für das übergeordnete Verzeichnis haben, kann es selbst bei Verwendung von -p fehlschlagen. Überprüfen Sie zusammen die Fehlermeldung, den Exit-Status und den tatsächlichen Pfad, um den Erfolg zu bestätigen.

Mehrere Verzeichnisse und Namen mit Leerzeichen

Sie können Namen durch Leerzeichen getrennt auflisten, um mehrere Verzeichnisse zu erstellen. Das folgende ist ein Beispiel, wenn die beiden Namen im aktuellen Verzeichnis noch nicht existieren.

mkdir documents images
ls -ld documents images

Wenn der Name selbst Leerzeichen enthält, setzen Sie den gesamten Pfad in Anführungszeichen, um ihn als einen einzigen Namen zu übergeben. Wenn keine Anführungszeichen verwendet werden, teilt die Shell ihn an den Leerzeichen auf und übergibt sie als separate Argumente.

mkdir "project files"
ls -ld "project files"

Namen, die mit einem Bindestrich beginnen, können als Optionen interpretiert werden. Zum Beispiel platziert mkdir -- -archive den Namen nach --, sodass er nicht als Option behandelt wird.

Überprüfen Sie Berechtigungen und Ergebnisse beim Erstellen

Im Allgemeinen werden die Standardberechtigungen eines neuen Verzeichnisses von der aktuellen umask der Shell und den Dateisystemeinstellungen beeinflusst. Überprüfen Sie die aktuelle Maske mit umask und verifizieren Sie die tatsächlichen Berechtigungen des erstellten Verzeichnisses mit ls -ld.

Sie können die Berechtigungen eines neu erstellten Verzeichnisses auch mit der -m-Option von GNU mkdir festlegen. Das folgende Beispiel zeigt, dass Lese-, Schreib- und Ausführungsberechtigungen dem Eigentümer gewährt werden und keine Berechtigungen für die Gruppe und andere erteilt werden, wenn private noch nicht existiert.

mkdir -m 700 private
ls -ld private

Selbst wenn -p und -m zusammen verwendet werden, wird -m auf das neue Verzeichnis angewendet, das in der Befehlszeile angegeben ist, und nicht auf automatisch erstellte übergeordnete Verzeichnisse. Es wendet auch keine neuen Berechtigungen auf Verzeichnisse an, die bereits existieren. Zugriffskontrolllisten oder Dateisystemrichtlinien können den tatsächlichen Zugriff beeinflussen, daher sollten die Ergebnisse in der erforderlichen Umgebung überprüft werden. Für detailliertes Verhalten der Optionen siehe das GNU mkdir-Handbuch.

Wenn die Erstellung fehlschlägt

  • Existiert bereits: Verwenden Sie ls -ld name, um zu prüfen, ob das vorhandene Element eine Datei oder ein Verzeichnis ist. -p ist nur geeignet, wenn Sie das vorhandene Verzeichnis unverändert verwenden möchten.
  • Übergeordneter Pfad nicht gefunden: Überprüfen Sie die Schreibweise des Pfads und Ihren aktuellen Standort und entscheiden Sie dann, ob Sie die fehlenden übergeordneten Verzeichnisse mit -p erstellen können.
  • Zugriff verweigert: Überprüfen Sie, ob Sie die erforderlichen Schreib- und Zugriffsrechte für das übergeordnete Verzeichnis haben, und fordern Sie diese bei Bedarf vom Administrator an.

Sie können ein während der Übung erstelltes leeres Verzeichnis mit rmdir entfernen, nachdem Sie bestätigt haben, dass es keinen Inhalt enthält. rmdir entfernt im Allgemeinen keine Verzeichnisse, die nicht leer sind.