Tree – Lista ad Albero di file e cartelle

Per meglio esporre la struttura dello Zend Framework cercavo qualcosa che mi elencasse tutti i file e le cartelle in un formato comprensibile e abbastanza carino. Facendo una veloce ricerca su internet ho trovato questo bellissimo programma per linux che mi ha aiutato a mostrare in una maniera molto ordinata l’organizzazione di cartelle.

Questo programma è Tree, facilmente installabile su Ubuntu:

$ sudo apt-get install tree

Una volta installato, l’utilizzo avviene tramite terminale scrivendo tree e le opzioni aggiuntive. Vediamone qualche esempio:

$ cd /

Root in Tree-Format

Per limitare lo spazio occupato, ho utilizzato l’opzione -L che limita la profondità di ricerca. Vi lascio immaginare un possibile output di tutto il filesistem :)
Come potete osservare vengono messe le freccette -> per identificare i link dei file.

Altre opzioni interessanti sono:

-a | visualizza tutti i file e le cartelle anche quelle nascoste (che iniziano col punto . )
-d | visualizza solo le cartelle
-f | mostra il fullpath di ogni file
-i | mostra solo l’elenco dei file e cartelle, senza la struttura
-p | mostra i permessi accanto ad ogni file e cartella
-s | mostra la grandezza in byte
-h | mostra la grandezza utilizzando i multipli del byte (Kb, Mb, Gb, Tb)
-F | mostra accanto alle cartelle lo slash /, accanto ai file eseguibili l’asterisco *, e altri caratteri tipici del comando ls -F
-r | mostra l’output ordinato al contrario (dalla Z alla A)
-n | leva ogni tipi di colorazione dell’output
-L | massima profondità

Se oltre alla struttura delle cartelle, ci interessano soltanto i file che rispettano una certa struttura, possiamo far ricorso all’opzione -P [pattern], che da in output solo i file che corrispondono al pattern dato. Ad esempio:

$ cd /boot
$ tree -P "vm*"
.
|-- grub
|-- vmcoreinfo-2.6.28-11-generic
|-- vmcoreinfo-2.6.28-18-generic
|-- vmlinuz-2.6.28-11-generic
`-- vmlinuz-2.6.28-18-generic

1 directory, 4 files

In questo modo ci ha mostrato solo i file che iniziano con vm.

Quando invece abbiamo da trattare un gran numero di cartelle e di file, può capitare che la finestra della nostra shell non mostri i primi risultati. Per sistemare questo problema, o semplicemente per evitare di fare copia-incolla, possiamo affidarci al comando -o [filename] che dirige l’output verso un file. Attenzione però: non accetta percorsi relativi! e per evitare problemi, consiglio di rimuovere i colori di output attraverso l’opzione -n.

$ tree -L 1 -n -o "/home/takeno/Documenti/myRoot"

Chiudiamo in bellezza? Vogliamo l’output in HTML? Niente di più facile!

$ tree -F -n -H "" -o "/home/takeno/Documenti/myRoot.html"

Output:

Directory Tree

.
|– System.map-2.6.28-11-generic
|– System.map-2.6.28-18-generic
|– abi-2.6.28-11-generic
|– abi-2.6.28-18-generic
|– config-2.6.28-11-geneic
|– config-2.6.28-18-generic
|– grub/
| |– default
| |– device.map
| |– e2fs_stage1_5
| |– fat_stage1_5
| |– installed-version
| |– jfs_stage1_5
| |– menu.lst
| |– menu.lst~
| |– minix_stage1_5
| |– reiserfs_stage1_5
| |– stage1
| |– stage2
| `– xfs_stage1_5
|– initrd.img-2.6.28-18-generic
|– memtest86+.bin
|– vmcoreinfo-2.6.28-11-generic
|– vmcoreinfo-2.6.28-18-generic
|– vmlinuz-2.6.28-11-generic
`– vmlinuz-2.6.28-18-generic

1 directory, 26 files

Per le altre opzioni

$ man tree



Ti è piaciuto l'articolo? Vota Ok oppure No. Grazie Mille!

Post Correlati:

Resta aggiornato abbonandoti al feed RSS 2.0. Puoi lasciare un commento oppure inviare un trackback dal tuo sito.

Lascia un Commento

XHTML: È possibile utilizzare questi marcatori: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>