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 !
5 août 2011 à 9:10
Une petite correction sur un des exemples:
c’est pas ‘ tree –du h ~/’ mais ‘tree -du -h ~/’
C’était évident pour tout le monde
5 août 2011 à 9:21
Le – est resté dans le clavier ! Merci pour la remarque
5 août 2011 à 23:56
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
6 août 2011 à 12:28
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;
}
6 août 2011 à 12:34
Une erreur dans la commande…
L’argument -maxdepth de la commande find doit être à $d et non à 2.