Zum Hauptinhalt springen

Wie man alle Ordner in Bash ausgibt

Das Team ls -d */ zeigt nur die Ordnernamen im aktuellen Verzeichnis an und alle Dateien werden ignoriert. Mit einer vollständigen Ordnerliste können Sie jetzt den gewünschten Ordner leicht finden oder andere Ordneraktionen wie Verschieben oder Löschen durchführen.

Verwenden Sie den Befehl ls

Der einfachste Weg, den Befehl ls zu verwenden, besteht darin, ihn einfach ohne Argumente an der Eingabeaufforderung einzugeben. Dadurch werden die Namen aller Dateien und Ordner im aktuellen Verzeichnis angezeigt. Zum Beispiel:

  • file1.txt
  • folder1
  • file2.txt
  • file3.txt

Wenn Sie detailliertere Informationen zu jeder Datei oder jedem Ordner erhalten möchten, können Sie das Flag -l mit dem Befehl ls verwenden. Zum Beispiel:

  • -rw-r--r-- 1 user group 1024 Aug 14 09:30 file1.txt
  • drwxr-xr-x 2 user group 4096 Aug 14 09:30 folder1
  • -rw-r--r-- 1 user group 2048 Aug 14 09:30 file2.txt
  • -rw-r--r-- 1 user group 4096 Aug 14 09:30 file3.txt

In diesem Fall erhalten Sie detaillierte Informationen zu jeder Datei oder jedem Ordner, einschließlich Zugriffsberechtigungen, Besitzer, Gruppe, Größe und Datum der letzten Änderung.

Außerdem können Sie verschiedene Flags mit dem Befehl ls verwenden, um weitere Informationen zu erhalten oder spezielle Aufgaben auszuführen. Mit dem Flag -a können Sie beispielsweise versteckte Dateien und Ordner anzeigen, mit dem Flag -r können Sie sie in umgekehrter Reihenfolge sortieren, und mit dem Flag -t werden Dateien und Ordner nach dem Zeitpunkt der letzten Änderung sortiert.

Hier sind nur einige Beispiele für ls-Befehle mit verschiedenen Flags:

  • ls -a - Alle Dateien und Ordner anzeigen, einschließlich ausgeblendeter Dateien
  • ls -l - Detaillierte Informationen zu Dateien und Ordnern anzeigen
  • ls -r - Dateien und Ordner in umgekehrter Reihenfolge anzeigen
  • ls -t - Dateien und Ordner nach dem Zeitpunkt der letzten Änderung sortieren

Dies sind nur einige der vielen Möglichkeiten des ls-Befehls. Das Erlernen zusätzlicher Flags und Argumente hilft Ihnen, diesen Befehl effizienter zu verwenden und die erforderlichen Informationen über Dateien und Ordner im System zu erhalten.

Fügen Sie die Option -d hinzu

Um die Option -d im ls-Befehl zu verwenden, fügen Sie sie einfach nach dem Hauptbefehl hinzu:

Ohne zusätzliche Argumente listet der Befehl ls -d alle Ordner im aktuellen Verzeichnis auf. Wenn Sie die Ordner in einem bestimmten Verzeichnis auflisten möchten, geben Sie einfach den Verzeichnispfad nach der Option -d an:

ls -d /path/to/directory

Verwenden Sie reguläre Ausdrücke

In unserem Fall können wir reguläre Ausdrücke verwenden, um Ordnernamen zu suchen und zu filtern. Wenn wir zum Beispiel alle Ordner finden müssen, die den Buchstaben "a" im Namen enthalten, können wir das folgende Muster verwenden:

Hier bedeutet das Symbol "*" eine beliebige Anzahl beliebiger Zeichen. Das Muster "*a*" entspricht also jedem Ordnernamen, der den Buchstaben "a" enthält.

Dieser Befehl gibt nur die Ordnernamen aus, die den Buchstaben "a" enthalten.

Wir können auch andere reguläre Ausdrücke verwenden, um Ordner genauer zu filtern. Zum Beispiel können wir das Zeichen "^" verwenden, um den Anfang einer Zeichenfolge anzugeben, und das Zeichen "$", um das Ende einer Zeichenfolge anzugeben. Um beispielsweise alle Ordner zu finden, die mit dem Buchstaben "a" beginnen und mit dem Buchstaben "z" enden, können wir das folgende Muster verwenden:

Dadurch werden nur die Ordnernamen angezeigt, die mit dem Buchstaben "a" beginnen und mit dem Buchstaben "z" enden.

Die Verwendung regulärer Ausdrücke ermöglicht es uns, die Filterung von Ordnern nach verschiedenen Kriterien flexibel anzupassen. Wenn wir die grundlegenden Konzepte und Symbole für reguläre Ausdrücke kennen, können wir komplexere Muster erstellen, die unseren Bedürfnissen entsprechen.

Verwenden Sie den Befehl find

Das Team find bietet eine leistungsstarke Möglichkeit, Dateien und Ordner im Linux-Betriebssystem zu finden. Es kann für eine Vielzahl von Aufgaben verwendet werden, einschließlich der Anzeige einer Liste aller Ordner in einem bestimmten Verzeichnis.

Um den Befehl zu verwenden find. geben Sie einfach den Pfad zu dem Verzeichnis an, in dem Sie alle Ordner finden möchten:

find /path/to/directory -type d

In diesem Beispiel, /path/to/directory - der Verzeichnispfad und -type d gibt den Befehl an find nur Ordner suchen.

/path/to/directory/path/to/directory/folder1/path/to/directory/folder2/path/to/directory/folder3

Auf diese Weise erhalten Sie eine Liste aller Ordner im angegebenen Verzeichnis, einschließlich des Verzeichnisses selbst.

Verwenden Sie den Befehl tree

Mit dem Befehl tree können Sie bequem eine Liste aller Ordner und Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen anzeigen.

Um den Befehl tree zu verwenden, müssen Sie ihn vor der Verwendung installieren. Auf den meisten Linux-Systemen ist es standardmäßig nicht vorhanden, daher muss es über den Paketmanager installiert werden. Unter Ubuntu oder Debian kann dies beispielsweise mit dem folgenden Befehl erfolgen:

sudo apt-get install tree

Nachdem Sie den Befehl tree installiert haben, können Sie ihn im gewünschten Verzeichnis ausführen. Führen Sie beispielsweise den folgenden Befehl aus, um alle Ordner und Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen anzuzeigen:

tree

Das Ergebnis wird in einer Baumstruktur angezeigt, in der jeder Ordner durch einen separaten Zweig dargestellt wird, der alle Dateien und Unterordner dieses Ordners enthält. Die Dateien werden als Blätter eines Baumes angezeigt.

Erstellen Sie Ihr eigenes Skript

Öffnen Sie zunächst einen Texteditor und erstellen Sie eine neue Datei mit der Erweiterung .sh, zum Beispiel script.sh .

Öffnen Sie die Datei und fügen Sie den folgenden Code hinzu:

cd /Pfad/zu/Ordner
for folder in */
do
echo "$folder"
done

Hier brauchen wir zwei Teams:

  • cd /Pfad /zu/Ordner - Mit diesem Befehl navigieren wir zum gewünschten Ordner und ersetzen /Pfad/zu/Ordner durch den tatsächlichen Pfad zu dem Ordner, in dem wir eine Liste aller Ordner erhalten möchten. Zum Beispiel /home/user/myfolder .
  • for folder in */ - Dieser Befehl erstellt eine Schleife, die für jeden Ordner im aktuellen Verzeichnis ausgeführt wird. Hier bedeutet */ "alle Ordner".

Nachdem wir dem Skript den gesamten benötigten Code hinzugefügt haben, speichern wir die Datei und schließen den Editor.

Jetzt ist unser Skript betriebsbereit. Es bleibt nur übrig, es mit dem Befehl auszuführen ./script.sh . Wenn sich das Skript nicht im aktuellen Verzeichnis befindet, müssen Sie den vollständigen Pfad zum Skript angeben.

Als Ergebnis sehen wir eine Liste aller Ordner im angegebenen Verzeichnis.