Empfohlen, 2024

Die Wahl des Herausgebers

Erstellen Sie rekursiv eine verschachtelte Verzeichnisstruktur und alle Unterordner mit einem einzigen Befehl

12.02.2 Iteration und Rekursion

12.02.2 Iteration und Rekursion

Inhaltsverzeichnis:

Anonim
Das Erstellen einer Reihe von ineinander verschachtelten Verzeichnissen kann sofort über die Befehlszeile erfolgen. Dies macht es sehr einfach, sofort und rekursiv eine komplexe Verzeichnisstruktur von Ordnern in Unterordnern von Unterordnern zu erstellen, ohne manuell in jedes Verzeichnis navigieren zu müssen, um ein neues Verzeichnis zu erstellen, und dann erneut in dieses Unterverzeichnis zu navigieren, um ein weiteres Verzeichnis zu erstellen, und so weiter . Stattdessen erstellt ein Befehlszeilentrick den vollständigen Zwischenverzeichnispfad auf einen Schlag.

Das einfache Erstellen einer verschachtelten Verzeichnisstruktur erfordert die Verwendung des bekannten Befehls mkdir, der routinemäßig zum Erstellen eines einzelnen neuen Ordners verwendet wird, aber mit dem Anhang des Flags -p, um einen vollständigen zu erstellenden Pfad anzugeben. Wenn Sie dies selbst ausprobieren möchten, starten Sie die Terminal-App im Ordner / Applications / Utilities / und folgen Sie den Anweisungen, um zu erfahren, wie Sie mit mkdir -p eine Reihe von Verzeichnissen in einer einzelnen Befehlszeile unter Verwendung eines angegebenen Pfads erstellen.

Erstellen einer Verzeichnisstruktur rekursiv durch Angabe eines Pfads

In der einfachsten Form geben Sie einfach den Pfad zu mkdir an:

mkdir -p /path/to/make/

Das Flag -p stellt sicher, dass alle Unterordner rekursiv und an der richtigen Stelle erstellt werden.

Angenommen, der verschachtelte Verzeichnispfad, den wir erstellen möchten, lautet "/ Create / These / Folders / Within / Each / Other /", und keiner dieser Ordner oder Unterordner ist derzeit vorhanden. Verwenden Sie einfach die folgende Befehlszeichenfolge, um sie alle sofort zu erstellen:

mkdir -p ~/Create/These/Folders/Within/Each/Other/

Dadurch wird der Ordner "Create" als übergeordnetes Verzeichnis festgelegt, gefolgt von der vollständigen Reihe "/ These / Folders / Within / Each / Other /" als entsprechend verschachtelte untergeordnete Verzeichnisse.

Sie können so lange von einem Pfad angeben, wie Sie erstellen möchten, und es werden sofort die übergeordneten und alle untergeordneten Zwischenverzeichnisse erstellt.

Überprüfen des Verzeichnisses und aller erstellten Unterordner

Um schnell zu überprüfen, ob alle Verzeichnisse erstellt wurden und alles wie vorgesehen funktioniert, verwenden Sie den Befehl 'find' wie folgt:

find (parent directory) -type d -print

Wenn Sie das obige Beispiel erneut verwenden, sieht der Befehl find folgendermaßen aus:

find ~/Create/ -type d -print

Die Ausgabe dieses Befehls sieht ungefähr wie folgt aus und listet rekursiv alle untergeordneten Ordner aus dem übergeordneten Verzeichnis auf:

$ find ~/Create -type d -print
/Create
/Create/These
/Create/These/Folders
/Create/These/Folders/Within
/Create/These/Folders/Within/Each
/Create/These/Folders/Within/Each/Other

Natürlich können Sie sich auch an den Finder wenden, um zu überprüfen, ob eine komplexe Ordnerstruktur erstellt wurde, die möglicherweise am einfachsten in der Listenansicht angezeigt wird, und dann die Dreiecke verwenden, um jedes Unterverzeichnis rekursiv zu öffnen und seinen Inhalt anzuzeigen Folgendes:

(Beachten Sie, dass die .DS_Store-Dateien angezeigt werden, da alle versteckten Dateien sichtbar sind.)

Dies ist ein wirklich nützlicher Tipp, den wir vor einiger Zeit im Rahmen einiger nützlicher Befehlszeilentricks behandelt haben. Angesichts der Bequemlichkeit ist es jedoch durchaus sinnvoll, ihn allein zu behandeln.

Und ja, die Verwendung des Terminals ist bei weitem der schnellste Weg, um dies zu erreichen, da es keinen ähnlichen Trick für den Mac Finder gibt, obwohl man theoretisch die Erstellung von verschachtelten Verzeichnissen über die Automator-App in OS X automatisieren könnte, wenn dies gewünscht wird. Für das, was es wert ist, funktioniert der Befehl mkdir unter Mac OS X und Linux gleich, so dass Sie ihn auf Wunsch plattformübergreifend verwenden können. Willst du noch mehr Kommandozeilen-Tricks? Wir geben dir Deckung.

Top