TREE(1)

NOM
tree – Lister le contenu de répertoires sous forme d'arborescence.

SYNOPSIS
tree [-acdfghilnpqrstuvxACDFJQNSUX] [-L niveau [-R]] [-H [-]baseHREF] [-T titre] [-o nom_fichier] [-P motif] [-I motif] [--gitignore] [--gitfile[=]fichier] [--matchdirs] [--metafirst] [--ignore-case] [--nolinks] [--hintro[=]fichier] [--houtro[=]fichier] [--inodes] [--device] [--sort[=]nom] [--dirsfirst] [--filesfirst] [--filelimit[=]#] [--si] [--du] [--prune] [--charset[=]X] [--timefmt[=]format] [--fromfile] [--fromtabfile] [--fflinks] [--info] [--infofile[=]fichier] [--noreport] [--hyperlink] [--scheme[=]schéma] [--authority[=]nom_hôte] [--opt-toggle] [--version] [--help] [--] [répertoire ...]

DESCRIPTION
tree est un programme de listage récursif de répertoires qui produit une liste de fichiers indentés en profondeur, colorée à la manière de dircolors si la variable d'environnement LS_COLORS est définie et que la sortie est sur une console tty. Sans arguments, tree liste les fichiers du répertoire en cours d'utilisation. Lorsque des répertoires sont donnés en arguments, tree liste tous les fichiers et/ou répertoires trouvés dans les répertoires mentionnés chacun à leur tour. Après avoir affiché tous les fichiers et répertoires trouvés, tree renvoie le nombre total de fichiers et/ou de répertoires listés.

Par défaut, quand un lien symbolique est rencontré, le chemin auquel il renvoie est affiché après le nom du lien sous la forme suivante :

    nom -> chemin-réel

Si l'option -l est donnée et que le lien symbolique renvoie à un répertoire existant, tree suivra le chemin du lien symbolique comme s'il s'agissait d'un répertoire réel.

OPTIONS
tree accepte les options de ligne de commande suivantes :

OPTIONS DE LISTAGE

-a  Tous les fichiers sont affichés. Par défaut, tree n'affiche pas les fichiers cachés (ceux commençant par un point « . »). En aucun cas, tree n'affiche les modèles du système de fichiers « . » (répertoire en cours) et « .. » (répertoire précédent).

-d  Lister uniquement les répertoires.

-l  Suivre les liens symboliques s'ils pointent sur des répertoires comme s'ils étaient des répertoires. Les liens symboliques qui entraîneraient une récursion sont éludés s’ils sont détectés.

-f  Afficher le préfixe du chemin entier pour chaque fichier.

-x  Rester exclusivement sur le système de fichiers actuel. À la manière de find -xdev.

-L niveau
    Maximum de profondeur d'affichage de l'arborescence des répertoires.

-R  Descendre récursivement dans chaque niveau de répertoires de l'arbre (voir l'option -L) et renvoyer à chaque niveau un fichier nommé OOTree.html (à la manière de -o).

-P motif
    Ne lister que les fichiers qui correspondent au motif joker. Il peut y avoir plusieurs options -P. Note : vous devez utiliser l'option -a pour prendre aussi en compte les fichiers commençant avec un point « . » pour la correspondance. Les opérateurs jokers valables sont * (aucun ou plusieurs caractères quelconques), ** (aucun ou plusieurs caractères quelconques aussi bien qu’aucun « / », c'est à dire /**/ peut correspondre à un seul /), ? (tout caractère unique), [...] (tout caractère unique listé entre les crochets, facultativement un tiret - pour une plage de caractères, par exemple, [A-Z]) et [^...] (tout caractère unique non listé entre les crochets), | sépare les motifs successifs. Un / à la fin du motif correspond à des répertoires, mais pas à des fichiers.

-I motif
    Ne pas lister les fichiers qui correspondent au motif joker. Il peut y avoir plusieurs options -I. Voir -P ci-dessus pour de l'information sur les motifs jokers.

--gitignore
    Utiliser les fichiers .gitignore de git pour filtrer les fichiers et répertoires. Utiliser aussi $GIT_DIR/info/exclude si présent.

--gitfile[=]fichier
    Utiliser fichier explicitement comme un fichier gitignore.

--ignore-case
    Si un motif de correspondance est indiqué par l'option -P ou -I, cela fera correspondre le motif en ignorant la casse (différence capitale/minuscule) de chaque lettre.

--matchdirs
    Si un motif de correspondance est indiqué par l'option -P, cela fera appliquer le motif aux noms de répertoire (en plus des noms de fichier). Dans le cas d'une correspondance avec le nom de répertoire, la recherche de correspondance est désactivée pour le contenu du répertoire. Si l'option --prune est utilisée, les dossiers vides ne seront pas enlevés.

--metafirst
    Afficher les métadonnées au début de la ligne plutôt qu'après les lignes d'indentation.

--prune
    Enlever les répertoires vides de l'arbre dans la sortie. Cela est utile lorsque l'option est utilisée conjointement avec -P ou -I. Consulter NOTES ET BOGUES ci-dessous pour plus d'informations sur cette option.

--info
    Afficher les commentaires de fichier trouvés dans les fichiers .info. Consulter ci-dessous FICHIERS .INFO pour plus d'informations sur le format des fichiers .info.

--infofile[=]fichier
    Utiliser fichier explicitement comme un fichier info.

--noreport
    Ne pas afficher de rapport sur le fichier et le répertoire à la fin de la liste de l'arbre.

--charset[=]jeu_de_caractères
    Définir le jeu de caractères à utiliser pour les sorties en HTML et pour dessiner une ligne.

--filelimit[=]nombre
    Ne pas descendre dans les répertoires qui contiennent plus de nombre entrées.

--timefmt[=]format
    Afficher (implique -D) et formater la date selon la chaîne de format utilisée par la syntaxe de strftime(3).

-o nom_fichier
    Diriger la sortie vers nom_fichier.

OPTIONS DE FICHIER

-q  Afficher les caractères non affichables dans les noms de fichiers sous forme de points d'interrogation (?) plutôt que la notation par défaut.

-N  Afficher les caractères non imprimables tels quels plutôt que sous forme de nombre octal protégé.

-Q  Noter les noms de fichier entre guillemets.

-p  Afficher le type de fichier et les permissions pour chaque fichier (comme avec ls -l).

-u  Afficher le nom d'utilisateur, ou l'UID si aucun nom d’utilisateur n'est disponible, du fichier.

-g  Afficher le nom du groupe, ou le GID si aucun nom de groupe n'est disponible, auquel appartient le fichier.

-s  Afficher la taille de chaque fichier en octets avec son nom.

-h  Afficher la taille de chaque fichier sous une forme plus humainement lisible, par exemple en ajoutant une lettre en fonction de la taille, K pour kilooctet, M mégaoctet, G gigaoctet, T téraoctet, P pétaoctet et E exaoctet.

--si
    Comme -h mais utiliser des unités du Système International (multiples de 1000).

--du
    Afficher la taille pour chaque répertoire comme étant l'addition des tailles de ses fichiers et sous-répertoires (ainsi que leurs fichiers, etc). Le chiffre du total d'espace utilisé est aussi donné dans le rapport final (comme avec la commande du -c). Cette option nécessite que tree lise l'arborescence entière du répertoire avant de l'émettre, voir BOGUES ET NOTES ci dessous (implique -s).

-D  Afficher la date de la dernière heure de modification ou, si -c est utilisé, la dernière heure de changement d'état pour le fichier listé.

-F  Ajouter / pour les répertoires, = pour les fichiers de socket, * pour les fichiers exécutables, « > » pour les communications interprocessus (Solaris) et « | » pour les FIFO, comme avec ls -F

--inodes
    Afficher le numéro d'inœud du fichier ou du répertoire

--device
    Afficher le numéro du périphérique auquel appartient le fichier ou le répertoire

OPTIONS DE TRIAGE

-v  Trier la sortie par version.

-t  Trier la sortie par date de dernière modification plutôt qu'alphabétiquement.

-c  Trier la sortie par le dernier changement d'état plutôt qu'alphabétiquement. Cela modifie l'option -D (si utilisée) pour afficher le dernier changement d'état au lieu de la date de modification.

-U  Ne pas trier. Lister les fichiers dans l'ordre du répertoire. Désactive --dirsfirst.

-r  Trier la sortie dans l'ordre inverse. Cela est un méta-triage qui altère les tris ci-dessus. Cette option est désactivée lorsque -U est utilisé.

--dirsfirst
    Lister les répertoires avant les fichiers. Cela est un méta-triage qui altère les tris ci-dessus. Cette option est désactivée si -U est utilisé.

--filesfirst
    Lister les fichiers avant les répertoires. Cela est un méta-triage qui altère les tris cités ci-dessus. Cette option est désactivée lorsque -U est utilisé.

--sort[=]type
    Trier la sortie par type plutôt que par nom. Les valeurs possibles sont : ctime (-c), mtime (-t), size ou version (-v) ou none (-U).

OPTIONS GRAPHIQUES

-i  Faire que tree n'affiche pas les lignes d'indentation. Cela est utile lorsque utilisé en conjonction avec l'option -f. Cela supprime également autant d'espaces blancs que possible lorsqu'elle est utilisée avec les options -J ou -X.

-A  Activer l’expédient des lignes ANSI graphiques lors de l'affichage des lignes d'indentation.

-S  Activer le graphisme des lignes CP437 (utile pour utiliser les fontes du mode console de Linux). Cette option est l'équivalent actuel de --charset=IBM437 et peut finalement être obsolète.

-n  Toujours désactiver la colorisation. Cette option est écrasée par l'option -C, mais écrase CLICOLOR_FORCE si présente.

-C  Activer tout le temps la colorisation en utilisant les couleurs internes par défaut si les variables d'environnement LS_COLORS ou TREE_COLORS ne sont pas définies. Utile pour colorer la sortie dans un tube (pipe).

OPTIONS HTML/JSON/XML/HYPERLINKS

-X  Activer la sortie XML. Afficher l'arborescence comme un fichier formaté en XML.

-J  Activer la sortie en JSON. Afficher l'arborescence comme un tableau formaté en JSON.

-H [-]baseHREF
    Activer la sortie HTML, en incluant des références HTTP. Utile pour les sites ftp. baseHREF donne l'emplacement ftp de base lorsqu'on utilise la sortie HTML. C'est-à-dire que le répertoire local peut être /local/ftp/pub, mais il doit être référencé comme ftp://hostname.organization.domain/pub (baseHREF doit être ftp://hostname.organization.domain). Si baseHREF commence par un tiret (-), le tiret est enlevé et cela indique que l'arbre doit enlever le premier nom de répertoire de l'URL href. Conseil : n'utilisez pas les lignes ANSI avec cette option et n'indiquez pas plus d'un répertoire dans la liste des répertoires. Si vous voulez utiliser des couleurs à l'aide d'une feuille de style CSS, utilisez l'option -C en plus de cette option pour forcer la sortie en couleurs.

--hintro[=]fichier
    Utiliser fichier comme introduction HTML à la place de celle par défaut. Utiliser un fichier vide ou /dev/null pour éliminer l'introduction complètement.

--houtro[=]fichier
    Utiliser fichier comme séquence finale HTML à la place de celle par défaut. Utiliser un fichier vide ou /dev/null pour éliminer cette séquence complètement.

-T titre
    Définir le titre et la chaîne d'en-tête H1 dans le mode de sortie HTML.

--nolinks
    Désactiver les hyperliens dans la sortie HTML.

--hyperlink
    Activer la prise en charge des hyperliens OSC 8 pour les terminaux qui les gèrent. Voir BOGUES ET NOTES ci-dessous.

--scheme[=]schéma
    Définir le schéma utilisé par les hyperliens OSC 8. Le schéma par défaut est « file:// ». Si le schéma omet le deux-points (:), alors :// sera ajouté au schéma.

--authority[=]nom_hôte|autorité
    Définir l'autorité (nom d'hôte) à utiliser pour les hyperliens OSC 8. Par défaut le nom d'hôte local de la machine comme renvoyé par gethostname() est utilisé comme autorité. Un point (.) ou un ensemble de guillemets "", sans « = » (c'est-à-dire une chaîne vide) peuvent être utilisés pour indiquer une absence d’autorité.

OPTIONS D'ENTRÉE

--fromfile
    Lire une liste de répertoires depuis un fichier plutôt que depuis le système de fichiers. Les chemins fournis sur la ligne de commande sont des fichiers à lire plutôt que des répertoires à rechercher. Le répertoire point (.) indique à tree de lire les chemins depuis l'entrée standard. NOTE : cela ne convient que pour lire la sortie d'un programme comme find, pas tree -fi étant donné que les liens symboliques ne sont pas distingués des fichiers contenant juste « -> » dans une partie de leur nom de fichier à moins que l'option --fflinks ne soit utilisée.

--fromtabfile
    Comme --fromfile, tree lit une hiérarchie de répertoires à partir d'un fichier où les fichiers sont indentés par une tabulation, dans un format de type arborescent pour indiquer le niveau d'imbrication du répertoire.

--fflinks
    Traiter les informations sur un lien symbolique trouvées dans un fichier, comme dans la sortie de « tree -fi --noreport ». Seule la première occurrence de la chaîne «  ->  » est utilisée pour indiquer la séparation le nom du fichier et le lien.

OPTIONS DIVERSES

--opt-toggle
    Activer l'option « toggling ». Cela active la capacité à activer ou désactiver des options telles que -a, -h, etc. Très utile pour ajouter un alias lorsque vous souhaitez désactiver des options activées dans l'alias.

--help
    Afficher une liste d'utilisation détaillée.

--version
    Afficher la version de tree.

--  Fin du traitement d'options. Aucune autre option ne sera traitée après cela.

FICHIERS .INFO

Les fichiers .info sont similaires aux fichiers .gitignore, si un fichier .info est trouvé lors du parcours d'un répertoire, il est lu et ajouté à une pile d'informations .info. Chaque fichier est composé de commentaires (lignes commençant par un dièse (#)), ou de motifs jokers qui peuvent correspondre à un fichier relatif au répertoire dans lequel est trouvé le fichier .info. Si un fichier doit correspondre à un motif, le commentaire indenté par une tabulation qui suit le motif est utilisé comme commentaire de fichier. Un commentaire se termine par une ligne non indentée. Plusieurs motifs, chacun sur une ligne peuvent partager le même commentaire.

FICHIERS
/etc/DIR_COLORS    Base de données des couleurs du système.
~/.dircolors    Base de données des couleurs de l'utilisateur.
.gitignore    Fichier d'exclusion de Git
$GIT_DIR/info/exclude    Liste globale d'exclusion de fichiers de Git
.info    Fichier de commentaires de fichier
/usr/share/finfo/global_info    Fichier global des commentaires de fichier

ENVIRONNEMENT
LS_COLORS    Informations sur les couleurs créées par dircolors
TREE_COLORS    Utiliser cela pour les informations sur les couleurs en plus
de LS_COLORS si elle est définie.
TREE_CHARSET    Jeu de caractères à utiliser en mode HTML pour l'arbre.
CLICOLOR    Activer la coloration même si TREE_COLORS ou LS_COLORS ne
sont pas définies.
CLICOLOR_FORCE    Toujours activer la colorisation (en fait -C)
NO_COLOR    Désactiver la colorisation (en fait -n) (consulter
https://no-color.org/)
LC_CTYPE    Paramètres régionaux pour la sortie du nom de fichier.
LC_TIME    Paramètres régionaux pour la sortie de timefmt, consulter
strftime(3).
TZ    Fuseau horaire pour la sortie de timefmt, consulter strftime(3).
STDDATA_FD    Activer la fonction stddata, optionnellement définir le
descripteur à utiliser.

AUTEUR
Steve Baker (Steve.Baker.llc@gmail.com)
Sortie HTML faite par Francesc Rocher (rocher@econ.udg.es)
Prise en charge de jeux de caractères et de OS/2 par Kyosuke Tokoro (NBG01720@nifty.ne.jp)

BOGUES ET NOTES
tree ne supprime pas les répertoires « vides » lorsque les options -P et -I sont utilisées par défaut. Utilisez l'option --prune.

Les options -h et --si arrondissent au nombre entier le plus proche alors que les implémentations de ls l'arrondissent toujours à l'entier supérieur.

Supprimer des fichiers et répertoires avec les options -I, -P et --filelimit peut conduire à un rapport incorrect du nombre de fichiers et de répertoires.

Les options --prune et --du font que tree accumule l'arbre entier en mémoire avant de l'émettre. Pour de grandes arborescences, cela peut causer un délai non négligeable pour la sortie et l'utilisation d'une grande quantité de mémoire.

Le tampon d'expansion timefmt est ridiculement limité à un maximum de 255 caractères. La sortie de chaînes de temps plus longues que cela seront indéfinies, mais il est assuré qu'elles n'excèderont pas 255 caractères.

Les arbres XML et JSON ne sont pas colorés, ce qui est un peu dommage. L'utilitaire jq peut néanmoins coloriser le JSON, pas simplement les noms de fichiers par type de fichier comme avec LS_COLORS.

Les hyperliens OSC 8 peuvent ne pas être très bien pris en charge par votre terminal. Pour ma version de Konsole, il est nécessaire de définir le schéma à « file: » (sans //) et de ne pas utiliser d’autorité. Il peut être aussi nécessaire de passer 3 ou 5 heures à trouver l'option pour activer les hyperliens.

Probablement d’autres bogues.

À partir de la version 2.0.0, dans Linux, tree essaiera de produire automatiquement un arbre JSON compact sur le descripteur de fichier 3 (appelé ici stddata), s'il est présent et que la variable d'environnement STDDATA_FD est définie ou positionnée à une valeur de descripteur de fichier positive non nulle à utiliser dans la sortie. Il est à espérer qu'un jour un meilleur interpréteur de commande Linux/Unix puisse utiliser cette fonctionnalité, même si BSON serait probablement un meilleur format pour cela.

VOIR AUSSI
dircolors(1), ls(1), find(1), du(1), jq(1), strftime(3), gitignore(5)

TRADUCTION
La traduction française de cette page de manuel a été créée par Baptiste Mélès <baptiste.meles@ens.fr> et bubu <bubub@no-log.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.