Comment imprimer l'arborescence de répertoires dans le terminal

131

Quelle est la commande pouvant être utilisée pour dessiner l’arborescence de répertoires à l’intérieur de l’émulateur de terminal?

entrez la description de l'image ici

Maythux
la source

Réponses:

176

Vous pouvez utiliser treepour imprimer l’arborescence de répertoires dans le terminal. Installer treedepuis le terminal,

sudo apt-get install tree

Pour voir l’arborescence, utilisez

tree /path/to/folder

Ou accédez à un répertoire et utilisez simplement

tree

Il a aussi des options avancées. Vous pouvez voir propriétaire username, groupname, date de la dernière modification d'un fichier / dossier et ainsi de suite à l' aide tree. Il prend en charge les couleurs de répertoire de lssorte que vous puissiez voir les sorties colorisées.

Voir man treepour plus.

souravc
la source
6
Si vous souhaitez arborer uniquement les répertoires, utilisez -dswitch.
Souravc
outil propre et facile
zhihong
3
ou si vous utilisez Brew sur OSX. "brew install tree"
AshHimself
Je cherchais comment le faire sur Win7 + cmder: treefonctionne bien.
Benj
@AshHimself yep m'a battu. ;)
jamescampbell
46

Vous pouvez le faire facilement avec la commande suivante:

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

Cette commande va rechercher de manière récursive les répertoires à l'intérieur du répertoire parent, puis dessine l'arborescence des répertoires fondés.

Vous pouvez également essayer ce qui suit pour inclure tous les fichiers.

find | sed 's|[^/]*/|- |g'
Maythux
la source
7
S'il vous plaît diviser et expliquer la commande ci-dessus pour moi.
Avinash Raj
3
@AvinashRaj Buddy, la commande est claire si vous souhaitez en savoir plus sur sed, reportez-vous à certains tutoriels ou recherchez-le sur Google. C'est vraiment difficile d'expliquer tout sed ici!
Maythux
2
Maythux, vous avez raison de dire que si vous comprenez sed, votre script est clair, mais ne vous y trompez pas en pensant que sed / regexes est tout sauf un langage crypté que vous avez appris au fil des ans. Ce n'est pas intuitif - ce qui, à mon avis, est l'esprit du commentaire d'Avinash Raj.
aaaaaa
Que devrais-je changer pour ignorer les répertoires cachés?
cadams
1
comment laisser un répertoire spécifique?
Deepak Dholiyan
14

Il existe un programme appelé treeliste le contenu du répertoire dans une arborescence.

Je pense que c'est dans les dépôts (ou même installés)

sudo apt install tree

tree -d /path/to/directory

Vérifiez ce lien pour plus.

mr2k
la source