août 04

Dans le genre petite application bien sympathique, voici Tree, un programme en ligne de commande qui permet d’afficher récursivement vos répertoires. Pour faire simple, il s’agit de la commande ls agrémentée d’une visualisation en arborescence et en couleur : Une fonctionnalité qui a donc du charme.

Normalement, vous devez vous demandez si c’est bien utile, une sorte de commande ls modifiée, ça ne doit pas être bien terrible… Peut-être, sauf que cette méthode de visualisation est selon moi, bien plus pratique qu’un long et fastidieux listing, surtout que Tree permet d’afficher des informations comme la taille, les droits ou encore les dates correspondants aux données de manière très claire.

Regarder le contenu d’un ou plusieurs dossiers ne vous fera plus mal aux yeux ;)

Screenshot :

Installation :

Je vous assure c’est très… Simple, ouvrez votre terminal adoré et faites :

$ yaourt -S tree

Voilà c’est fini, Tree est prêt pour l’action !

Syntaxe d’utilisation :

Comme la majorité des applications en ligne de commande… Une syntaxe qui ne vous étonnera pas :

tree [Options] [répertoire]

Options :

Voici une petite liste des options disponibles, n’oubliez pas de faire un « $ man tree » pour de plus amples informations !

  • -a : Affiche les fichiers cachés.
  • -d : Liste uniquement les répertoires.
  • -f : Affiche le chemin complet.
  • -l : Suit les liens symboliques.
  • -p : Affiche les permissions.
  • -u : Affiche le nom de l’utilisateur.
  • -g : Affiche le nom du groupe.
  • -h : Affiche la taille de chaque données.
  • - -du : Affiche la taille des répertoires.
  • -D : Affiche la dernière date de modification.
  • -C : Force la colorisation.
  • -X : Sortie en XML.
  • -H : Sortie en HTML.

Exemples d’utilisation :

  • Afficher le répertoire /home ainsi que ses fichiers cachés en y indiquant les dates et en forçant la colorisation :
$ tree -CaD /home/
  • Afficher la taille des fichiers et des répertoires de votre home :
$ tree --du -h ~/
  • Renvoyer la sortie vers un fichier au format .html :
$ tree -H ~/ > liste.html

Voilà donc de quoi visualiser vos répertoires avec style !

Lien :

Dans la même catégorie :

écrit par David Lopes Ferreira

5 commentaires à “Visualiser vos répertoires avec Tree”

  1. kaisersozet Dit:

    Une petite correction sur un des exemples:
    c’est pas ‘ tree –du h ~/’ mais ‘tree -du -h ~/’

    C’était évident pour tout le monde :)

  2. David Lopes Ferreira Dit:

    Le – est resté dans le clavier ! Merci pour la remarque ;)

  3. Hedy Dit:

    Hummm la taille des répertoires ne me donne pas vraiment le bon résultat…
    L’option -du n’est-elle pas censée donner la taille des répertoires avec contenu inclus (de manière récursive j’entends) ?

    Sinon beau billet, comme d’habitude ;)

  4. mrttlemonde Dit:

    J’ai découvert ton blog via planet libre. Je trouve tes articles intérressants… Pour ce qui est de la commande tree, par exemple, ça m’a donné envie d’en écrire une très simple. Je ne l’ai pas testée à fond mais elle semble bien fonctionner :

    lstree () { if [ $# -eq 0 ]; then d=0; else d=$1; fi; clear; find * -maxdepth 2 -printf ‘[%M]/%p~%y\n’ | awk -F\~ ‘{ s=split($1,a, »/ »); for (i=2; i 2) printf(« \t »); if ($2== »d ») print « + « a[1] » « a[s]; else print « - « a[1] » « a[s]; }’ |less; }

    on peut lui passer un argument (la profondeur maximale) ou ne pas en spécifier (profondeur à 0, liste les fichiers du répertoire courant). Pour plus de facilité je l’ai mise dans une fonction. Voici la commande formatée :

    lstree () {
    if [ $# -eq 0 ]; then
    d=0;
    else d=$1;
    fi;
    clear;
    find * -maxdepth 2 -printf ‘[%M]/%p~%y\n’ | awk -F\~ ‘{
    s=split($1,a, »/ »);
    for (i=2; i 2) printf(« \t »);
    if ($2== »d ») print « + « a[1] » « a[s];
    else print « - « a[1] » « a[s];
    }’ |less;
    }

  5. mrttlemonde Dit:

    Une erreur dans la commande…
    L’argument -maxdepth de la commande find doit être à $d et non à 2.

Laisser une Réponse