Skip to content

Shell – tree

tree zeigt eine Verzeichnisstruktur als Baum. Für Repo-Strukturen an Claude Code (oder Menschen) meistens mit Ausschluss-Liste und/oder Tiefenbegrenzung nutzen, sonst wird die Ausgabe bei node_modules/vendor/ Build-Ordnern unbrauchbar lang.

Grundform

bash
tree                    # kompletter Baum ab aktuellem Ordner
tree -L 2                # nur 2 Ebenen tief
tree -a                  # auch versteckte Dateien (.env, .gitignore, ...)

Mit Ausschlüssen (Standard-Pattern für unsere Projekte)

bash
tree -I "dist|dist4|dist5|dist6|node_modules|vendor|archives|package|sourcefiles|releasefiles|.git|.DS_Store|.idea" -a

-I nimmt ein |-getrenntes Pattern, keine Kommaliste. Reihenfolge egal, aber alle Build-/Dependency-Ordner mit reinnehmen, sonst dominiert z. B. vendor/google-ads-php mit tausenden generierten Dateien die Ausgabe und macht sie für den eigentlichen Zweck (Projektstruktur zeigen) unbrauchbar.

In Zwischenablage kopieren

bash
tree -I "..." -a | pbcopy      # macOS
tree -I "..." -a | xclip       # Linux (X11)

Praxis-Stolperfalle

Wenn pbcopy/Zwischenablage-Copy und ein Chat-Fenster-Paste nicht zuverlässig zusammenspielen (z. B. Paste kommt leer an), lieber direkt in eine Datei umleiten und die Datei hochladen statt über die Zwischenablage zu gehen:

bash
tree -I "..." -a > struktur.txt

Kombiniert mit Tiefenbegrenzung

bash
tree -I "vendor|node_modules|dist|.git" -L 3

Praktisch, wenn nur die Top-Level-Struktur eines Projekts interessiert (z. B. um zu zeigen, welche Config-Dateien im Root liegen), nicht der komplette Quellcode-Baum.