Terminal : afficher les fichiers avec 'tree'

J'ai remarqué que de nombreux programmeurs sous Linux utilisaient une petite commande bien pratique dans leur terminal : Tree.

Cette commande permet d'afficher les fichiers et dossiers sous forme récursive dans la console.

C'est un complément bien agréable à ls et ses alias.

Seulement, il n'existe pas à ma connaissance de version pour OS X.

Qu'importe, nous allons la compiler nous-même.

C'est facile et c'est fait en moins de deux minutes.

Installation et compilation

Créez un dossier temporaire et rentrez dedans :

mkdir tree-compil
cd tree-compil

Téléchargez la dernière version des sources pour Linux :

curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz

Décompressez l'archive :

tar zxvf tree-1.6.0.tgz

Entrez dans le dossier puis ouvrez le fichier Makefile dans votre éditeur favori, nous allons modifier deux petits éléments :

cd tree-1.6.0
subl Makefile

Au tout début du fichier changez la ligne :

prefix = /usr

par :

prefix = /usr/local

Trouvez ensuite le bloc :

# Uncomment for OS X:
#CC=cc
#CFLAGS=-O2 -Wall -fomit-frame-pointer -no-cpp-precomp
#LDFLAGS=
#OBJS=strverscmp.o

et décommentez les lignes 3 et 5 pour obtenir ceci :

# Uncomment for OS X:
#CC=cc
CFLAGS=-O2 -Wall -fomit-frame-pointer -no-cpp-precomp
#LDFLAGS=
OBJS=strverscmp.o

Sauvez le fichier.

Ensuite on passe à la compilation proprement dite :

make
sudo make install

Voilà, la commande tree est disponible !

tree
tree -d

Astuce : dans Zsh c'est encore plus joli. ;-)

Auteur: Eric Dejonckheere