Jak wydrukować drzewo katalogów w terminalu

130

Jakiego polecenia można użyć do narysowania drzewa katalogów w emulatorze terminali?

wprowadź opis zdjęcia tutaj

Maythux
źródło

Odpowiedzi:

175

Możesz użyć treedo wydrukowania drzewa katalogów w terminalu. Zainstaluj treez terminala,

sudo apt-get install tree

Aby zobaczyć drzewo katalogów, użyj

tree /path/to/folder

Lub przejdź do katalogu i po prostu użyj

tree

Ma też kilka zaawansowanych opcji. Można zobaczyć właściciela username, groupname, datę ostatniej modyfikacji pliku / folderu i tak dalej użyciu tree. Obsługuje kolory katalogów, lsdzięki czemu można zobaczyć kolorowe wydruki.

Zobacz man treewięcej.

souravc
źródło
6
Jeśli chcesz drzewkować tylko katalogi użyj -dprzełącznika.
souravc
czyste i łatwe w użyciu narzędzie
zhihong
3
lub jeśli używasz naparu na OSX. „brew install tree”
AshHimself 15.09.15
Szukałem, jak to zrobić na Win7 + cmder: treedziała dobrze.
Benj
@AshHimself tak mnie pobiła. ;)
jamescampbell
46

Możesz to łatwo zrobić za pomocą następującego polecenia:

find . -type d | sed -e "s/[^-][^\/]*\//  |/g" -e "s/|\([^ ]\)/|-\1/"

To polecenie przeszuka rekursywnie katalogi w katalogu nadrzędnym, a następnie narysuje drzewo założonych katalogów.

Możesz także spróbować wykonać następujące czynności, aby dołączyć wszystkie pliki.

find | sed 's|[^/]*/|- |g'
Maythux
źródło
7
Proszę podzielić i wyjaśnić mi powyższe polecenie.
Avinash Raj
3
@AvinashRaj Buddy ogólne polecenie jest jasne, jeśli chcesz dowiedzieć się więcej o sed, zapoznaj się z samouczkami lub google. Naprawdę trudno jest tu wyjaśnić wszystkie sed!
Maythux,
2
Maythux, masz rację, że jeśli rozumiesz sed, to twój skrypt jest czysty, ale nie daj się zwieść myśleniu, że sed / regexy to nic innego jak tajemniczy język, którego nauczyłeś się przez lata. Nie jest to intuicyjne - co wydaje mi się duchem komentarza Avinasha Raja.
aaaaaa
Co powinienem zmienić, aby zignorować ukryte katalogi?
cadams
1
jak zostawić określony katalog?
Deepak Dholiyan
14

Istnieje program o nazwie, treektóry wyświetla zawartość katalogu w strukturze drzewa.

Myślę, że jest w repozytoriach (lub nawet zainstalowany)

sudo apt install tree

tree -d /path/to/directory

Sprawdź ten link, aby uzyskać więcej.

mr2k
źródło