Tree

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Exploration de fichiers, arborescence de répertoires
Commande tree
Paquet tree (absent par défaut sur la plupart des distributions)
Voir aussi find

tree affiche le contenu d'un répertoire sous forme d'arborescence hiérarchique, ce qui est bien plus lisible que la sortie à plat de ls -R. Contrairement à ls ou find, tree n'est généralement pas installé par défaut et doit être ajouté explicitement selon la distribution.

Installation

apt install tree      # Debian/Ubuntu
yum install tree      # RHEL/CentOS 6/7
dnf install tree      # Fedora/RHEL8+

Utilisation de base

tree                  # arborescence du répertoire courant
tree /var/log         # arborescence d'un répertoire précis

Limiter la profondeur (-L)

tree -L 2             # ne descend que sur 2 niveaux

L'option -L évite un affichage interminable sur une arborescence profonde, typiquement pour un premier coup d'œil rapide sur une grosse installation ou un projet avec beaucoup de dépendances.

N'afficher que les répertoires (-d)

tree -d               # masque les fichiers, ne montre que les dossiers

Pratique pour avoir une vue d'ensemble de l'organisation d'un projet sans le bruit des fichiers individuels.

Fichiers cachés (-a)

tree -a               # inclut les fichiers et dossiers cachés (dotfiles)

Par défaut, tree se comporte comme ls sans -a : les entrées commençant par un point (.git, .env, .ssh...) sont masquées.

Exclure un motif (-I)

tree -I "node_modules|.git|__pycache__"   # exclut plusieurs motifs, séparés par |

Utile pour ignorer les répertoires volumineux ou sans intérêt (dépendances, cache, VCS) qui noient l'arborescence utile dans un projet.

Couleurs (-C)

tree -C               # force la sortie colorée, même redirigée (ex: vers un pager)

Utile car tree désactive automatiquement la couleur dès que la sortie n'est pas un terminal (par exemple dans un pipe vers less).

Rediriger la sortie vers un fichier

tree -L 3 > arborescence.txt

Pratique pour joindre un état des lieux d'une arborescence à une documentation ou à un ticket, sans passer par un copier-coller de terminal.

Combiner les options

tree -L 2 -d -a -I ".git|node_modules" -C

Voir aussi

  • Find — rechercher des fichiers selon des critères (nom, type, taille, date...)