Il ne sera pas faux de dire que la commande ls est la référence en matière de liste du contenu des répertoires sur la ligne de commande Linux. Cependant, il existe des alternatives qui ont leurs propres points forts par rapport à ls. Une fois qu'un tel outil est arbre , dont nous aborderons les bases dans ce didacticiel.
Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.
Commande d'arborescence Linux
Comme son nom l'indique, la commande tree de Linux répertorie le contenu des répertoires dans un format arborescent. Voici sa syntaxe :
tree [OPTIONS] [directory]
Et voici comment la page de manuel de l'outil l'explique :
Tree is a recursive directory listing program that produces a depth indented listing of files,
which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty.
With no arguments, tree lists the files in the current directory. When directory arguments are
given, tree lists all the files and/or directories found in the given directories each in turn.
Upon completion of listing all files/directories found, tree returns the total number of files
and/or directories listed.
Si la commande tree n'est pas installée dans votre boîte Ubuntu, vous pouvez la saisir à l'aide de la commande suivante :
sudo apt-get install tree
Voici quelques exemples de style Q&A qui devraient vous donner un bon exemple du fonctionnement de la commande tree.
Q1. Comment fonctionne la commande tree ?
L'utilisation de base est assez facile. Exécutez simplement la commande 'tree' sans aucune option. Voici un exemple :
tree
Voici le résultat produit par cette commande sur mon système :
Ainsi, vous pouvez voir qu'une structure arborescente a été produite dans la sortie. Notez qu'il s'agit du répertoire de travail courant dont le contenu est affiché par défaut. Si vous souhaitez afficher le contenu d'un autre répertoire, vous devrez spécifier le chemin d'accès à ce répertoire en entrée.
Q2. Comment faire en sorte que l'arborescence affiche également les fichiers cachés ?
Par défaut, la commande tree n'affiche pas les fichiers cachés. Cependant, si vous le souhaitez, vous pouvez faire en sorte que tree le fasse en utilisant l'option de ligne de commande -a.
tree -a
Voici ce que dit la page de manuel à propos de -a :
All files are printed. By default tree does not print hidden files (those beginning with a dot `.')
. In no event does tree print the file system constructs `.' (current directory) and `..'
(previous directory).
Q3. Comment faire en sorte que l'arborescence affiche uniquement les répertoires en sortie ?
Supposons que vous souhaitiez uniquement que la commande tree affiche les entrées de répertoire dans la sortie. Vous pouvez le faire en utilisant l'option de ligne de commande -d.
Par exemple, la commande suivante :
tree -d
a produit cette sortie :
Q4. Comment faire en sorte que l'arborescence imprime le préfixe de chemin complet pour les fichiers ?
Cela peut être fait en utilisant l'option de ligne de commande -f. Voici un exemple :
tree -f
Voici une partie de la sortie produite par cette commande sur mon système :
Q5. Comment contrôler la profondeur de l'arborescence des répertoires en sortie ?
La commande tree vous permet également de contrôler la profondeur de l'arborescence des répertoires produite en sortie. Vous pouvez le faire en utilisant l'option de ligne de commande -L qui nécessite une valeur numérique indiquant la profondeur de répertoire autorisée. Par exemple :
tree -d -L 1
La commande ci-dessus ferait en sorte que seul le premier niveau de répertoires soit affiché dans la sortie.
Q6. Comment laisser sélectivement certains noms en sortie ?
La commande tree propose une option de ligne de commande -I qui vous oblige à transmettre un modèle en entrée. En fonction des noms de fichiers/répertoires que vous ne souhaitez pas afficher dans la sortie, créez un modèle. Par exemple, je voulais afficher uniquement les répertoires, mais je ne voulais aucun nom avec le modèle "Ubuntu" (sensible à la casse), j'ai donc utilisé l'option de ligne de commande -I de la manière suivante :
tree -d -I *Ubuntu
Conclusion
Bien que nous ayons discuté de plusieurs options de ligne de commande d'arborescence, le fait est que cet outil offre beaucoup plus de fonctionnalités. Une fois que vous avez fini de pratiquer tout ce dont nous avons discuté ici, rendez-vous sur la page de manuel de l'arborescence pour en savoir plus.