Stejně jako find
uvedené v jiných odpovědích, lepší shelly umožňují jak rekurzivní globusy, tak filtrování shod globů, takže v zsh
například...
ls -lad **/*(/)
...vypíše všechny adresáře, přičemž zachová všechny požadované detaily "-l", které byste jinak museli znovu vytvořit pomocí něčeho jako...
find . -type d -exec ls -ld {} \;
(není tak snadné, jak naznačují ostatní odpovědi)
Výhodou find je, že je více nezávislý na shellu – lépe přenosný, dokonce i pro system()
volání z programu C/C++ atd..
find . -type d > list.txt
Zobrazí seznam všech adresářů a podadresářů pod aktuální cestou. Pokud chcete vypsat všechny adresáře pod jinou cestou, než je aktuální, změňte .
na tu druhou cestu.
Pokud chcete vyloučit určité adresáře, můžete je odfiltrovat se zápornou podmínkou:
find . -type d ! -name "~snapshot" > list.txt
Můžete použít find
find . -type d > output.txt
nebo tree
tree -d > output.txt
tree
, Pokud není nainstalována ve vašem systému.
Pokud používáte ubuntu
sudo apt-get install tree
Pokud používáte mac os
.
brew install tree