Skip to main content

Erstellen von Verzeichnissen unter Linux mit dem Befehl 'mkdir'

[Lesson 37] Command Line Interface - Part Three - Jamf 100 Course (Kann 2024)

[Lesson 37] Command Line Interface - Part Three - Jamf 100 Course (Kann 2024)
Anonim

In diesem Handbuch erfahren Sie, wie Sie mithilfe der Befehlszeile neue Ordner oder Verzeichnisse in Linux erstellen.

Der Befehl, den Sie zum Erstellen von Verzeichnissen verwenden, ist mkdir. In diesem Artikel erfahren Sie, wie Sie Verzeichnisse unter Linux erstellen können. Außerdem werden alle verfügbaren Schalter behandelt.

So erstellen Sie ein neues Verzeichnis

Die einfachste Methode zum Erstellen eines neuen Verzeichnisses ist wie folgt:

mkdir

Wenn Sie beispielsweise ein Verzeichnis mit dem Basisordner "test" erstellen möchten, öffnen Sie ein Terminalfenster und vergewissern Sie sich, dass Sie sich in Ihrem Basisordner befinden (verwenden Sie den Befehl cd ~).

mkdir test

Ändern der Berechtigungen des neuen Verzeichnisses

Nach dem Erstellen eines neuen Ordners möchten Sie möglicherweise die Berechtigungen festlegen, so dass nur ein bestimmter Benutzer auf den Ordner zugreifen kann oder einige Personen Dateien im Ordner bearbeiten können, andere jedoch nur lesen können.

Im letzten Abschnitt habe ich Ihnen gezeigt, wie Sie ein Verzeichnis mit dem Namen test erstellen. Wenn Sie den Befehl ls ausführen, werden Ihnen die Berechtigungen für dieses Verzeichnis angezeigt:

ls -lt

Die Chancen sind, dass Sie etwas in dieser Richtung haben werden:

drwxr-xr-x 2 Eigentümergruppe 4096 9. März 19:34 test

Die Bits, die uns interessieren, sinddrwxr-xr-x Besitzerund Gruppe

Das d sagt uns, dass der Test ein Verzeichnis ist.

Die ersten drei Zeichen nach dem d sind die Eigentümerberechtigungen für das durch den Namen des Besitzers angegebene Verzeichnis:

  • r steht für lesen
  • w steht für schreiben
  • x steht für Ausführen (was bedeutet in diesem Fall, dass Sie auf den Ordner zugreifen können)

Die nächsten drei Zeichen sind die Gruppenberechtigungen für die durch den Gruppennamen angegebene Datei. Wieder sind die Optionen r, w und x. Das - bedeutet, dass eine Berechtigung fehlt. Im obigen Beispiel kann jeder, der zur Gruppe gehört, auf den Ordner zugreifen und die Dateien lesen, jedoch nicht in den Ordner schreiben.

Die letzten drei Zeichen sind die Berechtigungen, die alle Benutzer haben. Wie Sie im obigen Beispiel sehen können, sind diese mit den Gruppenberechtigungen identisch.

Um die Berechtigungen für eine Datei oder einen Ordner zu ändern, können Sie das verwendenchmodBefehl. Mit dem Befehl chmod können Sie 3 Zahlen angeben, die die Berechtigungen festlegen:

  • Leserechte = 4
  • Schreibrechte = 2
  • Berechtigungen ausführen = 1

Um eine Mischung von Berechtigungen zu erhalten, addieren Sie die Zahlen zusammen. Um zum Beispiel Lese- und Ausführungsberechtigungen zu erhalten, ist die Zahl 5, für Lese- und Schreibberechtigung die Anzahl 6 und für Lese- und Ausführungsberechtigung 3.

Denken Sie daran, dass Sie 3 Nummern als Teil des Befehls chmod angeben müssen. Die erste Zahl ist für die Eigentümerberechtigungen, die zweite Zahl für die Gruppenberechtigung und die letzte Zahl für alle anderen.

Um beispielsweise vollständige Berechtigungen für den Eigentümer zu erhalten, lesen Sie die Berechtigungen für die Gruppe und keine Berechtigungen für andere Personen, und geben Sie sie nicht ein. Geben Sie Folgendes ein:

chmod 750 test

Wenn Sie den Gruppennamen ändern möchten, der einen Ordner besitzt, verwenden Sie den Befehl chgrp.

Stellen Sie sich beispielsweise vor, Sie möchten ein Verzeichnis erstellen, auf das alle Steuerberater in Ihrem Unternehmen zugreifen können.

Erstellen Sie zunächst die Gruppenkonten, indem Sie Folgendes eingeben:

Groupadd-Konten

Wenn Sie nicht über die erforderlichen Berechtigungen zum Erstellen einer Gruppe verfügen, müssen Sie möglicherweise sudo verwenden, um zusätzliche Berechtigungen zu erlangen oder mit dem Befehl su zu einem Konto mit gültigen Berechtigungen zu wechseln.

Jetzt können Sie die Gruppe für einen Ordner ändern, indem Sie Folgendes eingeben:

Chgrp-Konten

Zum Beispiel:

chgrp konto test

Um allen Personen in der Kontengruppe Lese-, Schreib- und Ausführungszugriff sowie den Eigentümer, jedoch für alle anderen Personen schreibgeschützt zu geben, können Sie den folgenden Befehl verwenden:

chmod 770 test

Um einen Benutzer zur Kontengruppe hinzuzufügen, möchten Sie wahrscheinlich den folgenden Befehl verwenden:

usermod -a -G Konten

Der obige Befehl hängt die Kontengruppe an die Liste der sekundären Gruppen an, auf die der Benutzer Zugriff hat.

So erstellen Sie ein Verzeichnis und legen gleichzeitig Berechtigungen fest

Mit dem folgenden Befehl können Sie gleichzeitig ein Verzeichnis erstellen und die Berechtigungen für dieses Verzeichnis festlegen.

mkdir -m777

Der obige Befehl erstellt einen Ordner, auf den jeder Zugriff hat. Es ist sehr selten, dass Sie etwas mit dieser Art von Berechtigungen erstellen möchten.

Erstellen Sie einen Ordner und alle erforderlichen Eltern

Stellen Sie sich vor, Sie möchten eine Verzeichnisstruktur erstellen, aber Sie möchten nicht jeden einzelnen Ordner zusammen mit der Art und Weise erstellen und sich in einem Baum nach unten bewegen.

Sie können beispielsweise Ordner für Ihre Musik wie folgt erstellen:

  • / home / musik / rock / alicecooper
  • / home / musik / rock / königin
  • / home / musik / rap / drdre
  • / home / musik / jazz / louisjordan

Es wäre ärgerlich, den Rock-Ordner erstellen zu müssen, dann den alice cooper- und den queen-Ordner und dann den Rap-Ordner und den dr-Ordner und dann den Jazz-Ordner und dann den Louisjeans-Ordner.

Durch Angabe des folgenden Schalters können Sie alle übergeordneten Ordner im laufenden Betrieb erstellen, sofern diese noch nicht vorhanden sind.

mkdir -p

Um beispielsweise einen der oben aufgeführten Ordner zu erstellen, führen Sie den folgenden Befehl aus:

mkdir -p ~ / music / rock / alicecooper

Bestätigung, dass ein Verzeichnis erstellt wurde

Standardmäßig zeigt der Befehl mkdir nicht an, ob das Verzeichnis, das Sie erstellen, erfolgreich erstellt wurde. Wenn keine Fehler angezeigt werden, können Sie davon ausgehen.

Wenn Sie eine ausführlichere Ausgabe erhalten möchten, damit Sie wissen, was erstellt wurde, verwenden Sie den folgenden Schalter.

mkdir -v

Die Ausgabe erfolgt entlang der Zeilen vonmkdir: erstelltes Verzeichnis / Pfad / zu / Verzeichnisname.

Verwenden von "mkdir" in einem Shell-Skript

Manchmal möchten Sie den Befehl "mkdir" als Teil eines Shell-Skripts verwenden. Betrachten wir zum Beispiel ein Skript, das einen Pfad akzeptiert. Wenn das Skript ausgeführt wird, erstellt es den Ordner und fügt eine einzelne Textdatei mit dem Namen "Hallo" hinzu.

#! / bin / bash mkdir $ @ cd $ @ touch hallo

Die erste Zeile sollte in jedem Skript enthalten sein, das Sie schreiben, und wird verwendet, um zu zeigen, dass es sich tatsächlich um ein BASH-Skript handelt.

Der Befehl "mkdir" wird zum Erstellen eines Ordners verwendet. Das "$ @" (auch als Eingabeparameter bezeichnet) am Ende der 2. und 3. Zeile wird durch den Wert ersetzt, den Sie beim Ausführen des Skripts angeben.

Der Befehl "cd" wechselt in das von Ihnen angegebene Verzeichnis und schließlich erstellt der touch-Befehl eine leere Datei mit dem Namen "hallo".

Sie können das Skript selbst ausprobieren. Folgen Sie dazu diesen Anweisungen:

  1. Öffne ein Terminalfenster (drücke Alt und T sollte es tun)
  2. Eingeben nano createhellodirectory.sh
  3. Geben Sie die obigen Befehle in den Editor ein
  4. Speichern Sie die Datei, indem Sie gleichzeitig STRG und O drücken
  5. Beenden Sie die Datei, indem Sie gleichzeitig STRG und X drücken
  6. Ändern Sie die Berechtigungen, indem Sie eingeben chmod + x createhellodirectory.sh
  7. Führen Sie das Skript aus, indem Sie es eingeben ./createhellodirectory.sh test

Wenn Sie das Skript ausführen, wird ein Verzeichnis namens "test" erstellt und wenn Sie in dieses Verzeichnis wechseln (CD-Test) und führen Sie eine Verzeichnisliste aus (ls), Sie werden eine einzige Datei mit dem Namen "Hallo" sehen.

So weit so gut, aber jetzt versuchen Sie Schritt 7 noch einmal.

  1. Ein Fehler wird angezeigt, der besagt, dass der Ordner bereits existiert.

Es gibt verschiedene Möglichkeiten, das Skript zu verbessern. Wenn der Ordner beispielsweise bereits vorhanden ist, ist es uns nicht besonders wichtig, solange er existiert.

#! / bin / bash mkdir -p $ @ cd $ @ touch hallo

Wenn Sie den Befehl -p als Teil des Befehls mkdir angeben, wird kein Fehler ausgegeben, wenn der Ordner bereits vorhanden ist. Wenn er jedoch nicht vorhanden ist, wird er erstellt.

Wenn dies nicht der Fall ist, erstellt der Berührungsbefehl eine Datei, wenn sie nicht vorhanden ist. Wenn sie jedoch vorhanden ist, ändert sie einfach das Datum und die Uhrzeit, zu denen zuletzt zugegriffen wurde.

Stellen Sie sich vor, die Touch-Anweisung wurde durch eine Echo-Anweisung ersetzt, die den Text wie folgt in eine Datei schreibt:

#! / bin / bash mkdir -p $ @ cd $ @ echo "hallo" >> hallo

Wenn Sie den Befehl "./createhellodirectory.sh test" immer wieder ausführen, wird die Datei "hallo" im Testverzeichnis mit immer mehr Zeilen mit dem Wort "hallo" größer und größer.

Nun kann dies vielleicht nicht wie beabsichtigt sein, aber sagen wir jetzt, dass dies nicht die gewünschte Aktion ist. Sie können einen Test schreiben, um sicherzustellen, dass das Verzeichnis nicht vorhanden ist, bevor Sie den Befehl echo wie folgt ausführen.

#! / bin / bash mkdir $ @ 2> / dev / null; wenn $? -eq 0; dann cd $ @ echo "hallo" >> hallo exit fi

Das obige Skript ist meine bevorzugte Methode für die Erstellung von Ordnern. Der Befehl mkdir erstellt den Ordner, der als Eingabeparameter übergeben wird, aber alle Fehlerausgaben werden an / dev / null gesendet (was im Wesentlichen nirgends bedeutet).

In der dritten Zeile wird der Ausgabestatus des vorherigen Befehls überprüft, bei dem es sich um die Anweisung "mkdir" handelt. Wenn er erfolgreich war, führt er die Anweisungen aus, bis die Anweisung "fi" erreicht wird.

Dies bedeutet, dass Sie den Ordner erstellen und alle gewünschten Aktionen ausführen können, wenn der Befehl erfolgreich ist. Wenn Sie etwas anderes tun möchten, falls der Befehl nicht erfolgreich war, können Sie einfach eine else-Anweisung wie folgt eingeben:

#! / bin / bash mkdir $ @ 2> / dev / null; wenn $? -eq 0; thencd $ @ echo "hallo" >> halloexitelsecd $ @ echo "hallo"> halloexitfi

Wenn im obigen Skript die mkdir-Anweisung funktioniert, sendet die Echo-Anweisung das Wort "hallo" an das Ende der Datei mit dem Namen "hallo". Wenn sie nicht existiert, wird eine neue Datei mit dem Wort "hallo" erstellt. Hallo "drin.

Dieses Beispiel ist nicht besonders praktisch, da Sie einfach die gleichen Ergebnisse erzielen können, wenn Sie die Echo "Hallo"> Hallo Linie. Das Beispiel soll zeigen, dass Sie den Befehl "mkdir" ausführen können, die Fehlerausgabe ausblenden, den Status des Befehls überprüfen können, um zu sehen, ob er erfolgreich war oder nicht, und dann einen Befehlssatz ausführen, wenn der Befehl "mkdir" verwendet wird war erfolgreich und ein weiterer Satz von Befehlen, falls dies nicht der Fall war.