Nei sistemi UNIX/LINUX, così come in MS-DOS e Microsoft Windows, l'albero è un programma ricorsivo di elenco di directory che produce un elenco di file con rientro profondo. Senza argomenti, l'albero elenca i file nella directory corrente. Quando vengono forniti argomenti di directory, l'albero elenca a turno tutti i file o le directory trovati nelle directory specificate.
Mostra le directory come rami e i file come foglie, il che rende semplice per l'utente visualizzare l'organizzazione di file e directory all'interno di un determinato percorso.
Installazione del comando `tree` in Linux
Per impostazione predefinita, il comando tree non è installato. Digitare il seguente comando per installare lo stesso
Installazione in RHEL / CentOS / Fedora Linux
Versione inferiore o uguale a Rhel8
sudo yum install tree>
Nota nella versione successiva a RHEL 8, è necessario il comando dnf.
Ad esempio, nell'installazione in RHEL 9.
sudo dnf install tree>
sudo dnf installa l'albero
Installazione in Debian/Mint/Ubuntu Linux
sudo apt-get install tree>
sudo apt-get albero di installazione
Installazione in Apple OS X
brew install tree>
Sintassi di base del comando Tree in Linux
tree [options]>
Se vogliamo visualizzare la struttura delle directory utilizziamo il semplice comando `tree` senza aggiungere alcuna opzione.
albero
Qui il comando `tree` mostrerà la struttura della directory, a partire dalla directory corrente.
Opzioni disponibili nel comando `tree` in Linux
| Opzioni | Descrizione |
|---|---|
| -aiuto | -aiuto |
| -versione | Restituisce la versione dell'albero. elenco vuoto java |
| '-a' o '-all'. | Include file e directory nascosti nell'albero. |
| `-d` o `–dirs-only` | Elenca solo le directory. |
| `-f` o `–percorso completo` | Stampa il prefisso del percorso completo per ciascun file. |
| `-i` o `–ignore-case` | Ignora maiuscole e minuscole durante l'ordinamento dei nomi dei file. |
| -X | Rimani solo sul file system corrente, come con find -xdev. |
| -IO | Non elencare i file che corrispondono al modello di caratteri jolly. |
| '-p' o '–prune'. | Omette la directory specificata dall'albero. |
| –limitefile # | Non scendere nelle directory che contengono più di # voci. |
| -T | Ordina l'output in base all'ora dell'ultima modifica anziché in ordine alfabetico. |
| –nessun rapporto | Omette la stampa del rapporto su file e directory alla fine dell'elenco dell'albero. |
| -S | Stampa la dimensione di ciascun file insieme al nome. |
| -In | Stampa il nome utente, o l'UID # se non è disponibile alcun nome utente, del file. |
| -G | Stampa il nome del gruppo o il GID # se non è disponibile alcun nome del gruppo del file |
| -D | Stampa la data dell'ultima modifica per il file elencato. |
| –inode | Stampa il numero di inode del file o della directory |
| -dispositivo | Stampa il numero del dispositivo a cui appartiene il file o la directory |
| -F | Aggiungi un `/’ per le directory, un `=’ per i file socket, un `*' per i file eseguibili e un `|' per i FIFO, come per ls -F |
| -Q | Stampa i caratteri non stampabili nei nomi dei file come punti interrogativi invece della notazione carota predefinita. |
| -N | Stampa i caratteri non stampabili così come sono invece della notazione carota predefinita. |
| -R | Ordina l'output in ordine alfabetico inverso. |
| –dirfirst | Elenca le directory prima dei file. |
| -N | Disattiva sempre la colorazione, sovrascritta dall'opzione -C. |
| -C | Attiva sempre la colorazione, utilizzando i colori predefiniti incorporati se la variabile di ambiente LS_COLORS non è impostata. Utile per colorare l'output su una pipe. |
| -UN | Attiva la modifica grafica delle linee ANSI durante la stampa delle linee di rientro. |
| -S | Attiva la grafica della linea ASCII (utile quando si utilizzano i caratteri in modalità console Linux). Questa opzione è ora equivalente a `–charset=IBM437′ e verrà eventualmente svalutata. |
| -Livello L | Profondità massima di visualizzazione dell'albero delle directory. css per allineare le immagini |
| -R | Attraversa ricorsivamente le directory di ogni livello dell'albero (vedi opzione -L), ed in ciascuna di esse esegui nuovamente l'albero aggiungendo `-o 00Tree.html' come nuova opzione. |
| -H baseHREF | Attiva l'output HTML, inclusi i riferimenti HTTP. Utile per i siti FTP. baseHREF fornisce la posizione ftp di base quando si utilizza l'output HTML. Cioè, la directory locale può essere `/local/ftp/pub', ma deve essere referenziata come `ftp://nome-host.organizzazione.dominio/pub' (baseHREF dovrebbe essere `ftp://nome-host.organizzazione .dominio'). Suggerimento: non utilizzare linee ANSI con questa opzione e non fornire più di una directory nell'elenco delle directory. Se desideri utilizzare i colori tramite il foglio di stile CSS, utilizza l'opzione -C oltre a questa opzione per forzare l'output a colori. |
| -T titolo | Imposta il titolo e la stringa dell'intestazione H1 nella modalità di output HTML. |
| –set di caratteri set di caratteri | Imposta il set di caratteri da utilizzare durante l'output HTML e per il disegno di linee. |
| –nessun collegamento | Disattiva i collegamenti ipertestuali nell'output HTML. |
| -o nome del file | Invia l'output al nome del file. |
Esempi
Visualizza la gerarchia ad albero di una directory
tree -a ./GFG>
albero -a ./GFG
Elenca i file con il modello inserito
tree -P sample* .>
albero -P campione* .
Elenca le directory che hanno un numero maggiore di 'N' di file/directory
tree --filelimit 3 ./GFG>
albero –filelimit 3 ./GFG
Elenca i file con i relativi permessi.
tree -p ./GFG>
albero -p ./GFG
Stampa il numero del dispositivo a cui appartiene il file o la directory.
tree --device ./GFG>
albero –dispositivo ./GFG
Stampa l'output in base all'ora dell'ultima modifica anziché in ordine alfabetico.
tree -t ./GFG>
albero -t ./GFG
Conclusione
In questo articolo abbiamo studiato il comando `tree` in Linux che è un potente strumento per visualizzare la struttura delle directory. Consente inoltre all'utente di visualizzare la gerarchia di file e directory, compresi quelli nascosti, ordinando l'output in base a vari criteri, inoltre filtra i file utilizzando modelli e genera output HTML. Nel complesso, possiamo che sia uno strumento molto utile.