Così come find
elencati in altre risposte, shell migliori consentono sia i glob ricorsivi che il filtraggio delle corrispondenze glob, quindi in zsh
per esempio...
ls -lad **/*(/)
... elenca tutte le directory mantenendo tutti i dettagli "-l" desiderati, che altrimenti avresti bisogno di ricreare usando qualcosa come...
find . -type d -exec ls -ld {} \;
(non così facile come suggeriscono le altre risposte)
Il vantaggio di find è che è più indipendente dalla shell - più portabile, anche per system()
chiamate dall'interno di un programma C/C++ ecc.
find . -type d > list.txt
Elencherà tutte le directory e sottodirectory sotto il percorso corrente. Se vuoi elencare tutte le directory in un percorso diverso da quello corrente, cambia .
a quell'altro percorso.
Se desideri escludere determinate directory, puoi filtrarle con una condizione negativa:
find . -type d ! -name "~snapshot" > list.txt
Puoi usare find
find . -type d > output.txt
o tree
tree -d > output.txt
tree
, Se non è installato sul tuo sistema.
Se stai usando ubuntu
sudo apt-get install tree
Se stai usando mac os
.
brew install tree