Corso Linux / Navigare tra directory con pwd, ls, cd e tree
Per orientarti nelle directory Linux, usa pwd per sapere dove sei, ls per vedere il contenuto e cd per spostarti. Se disponibile, tree mostra anche la gerarchia. Questa lezione combina i quattro comandi per capire come percorsi assoluti e relativi influenzino ogni spostamento.
Apri un terminale con Bash e usa una normale sessione utente: queste operazioni di lettura e navigazione non richiedono privilegi amministrativi. Se manca tree, puoi continuare con ls. Per installarlo, consulta la lezione in inglese sulla gestione dei pacchetti con APT e DNF e scegli il metodo adatto alla distribuzione.
Controllare prima la directory di lavoro
Un percorso relativo viene interpretato dalla directory di lavoro corrente. Il prompt può mostrarne una versione abbreviata o personalizzata: per conoscere il percorso usa pwd.
pwd
Se l'account si chiama learner e ti trovi nella sua home, potresti vedere:
/home/learner
È un esempio: il nome dell'account e la home effettiva dipendono dalla configurazione. pwd non cambia posizione. In Bash, il percorso logico può conservare un collegamento simbolico attraversato durante la navigazione; pwd -P mostra invece il percorso fisico risolvendo tali collegamenti.
Esaminare il contenuto di una directory
ls elenca i nomi dei file e delle directory. Senza argomenti esamina la directory corrente; indicando una directory ne mostra il contenuto. Esegui separatamente queste righe per esaminare prima la posizione corrente e poi /etc:
ls
ls /etc
Il risultato di ls /etc può contenere nomi simili a questi. È un esempio parziale, non l'elenco completo: nomi, numero di voci e disposizione dipendono dal sistema.
hosts passwd ssh
Le voci il cui nome inizia con un punto sono normalmente escluse dall'elenco predefinito. Con -a includi anche queste voci nascoste, comprese . e ... Con -l visualizzi informazioni come permessi, proprietario, dimensione e data di modifica.
ls -a
ls -l /etc
Nelle righe di ls -l, il primo carattere indica il tipo di file, non il tipo di file system: d indica una directory, - un file ordinario e l un collegamento simbolico. Non dedurre il tipo soltanto dal nome o dal colore visualizzato.
Per vedere la directory stessa anziché elencarne il contenuto, usa ls -ld percorso, sostituendo percorso con il nome reale. Per esempio, ls -ld /etc mostra le informazioni su /etc. Le opzioni di dereferenziazione possono modificare come vengono trattati i collegamenti simbolici; evita di considerare ogni destinazione indicata come una directory ordinaria.
Spostarsi con percorsi assoluti e relativi
cd cambia la directory di lavoro della shell corrente. Con un percorso assoluto come /etc raggiungi quella posizione indipendentemente dal punto di partenza, purché la directory esista e tu possa accedervi nello stesso ambiente. Controlla subito l'esito con pwd.
cd /etc
pwd
Se lo spostamento riesce, l'output di pwd è normalmente:
/etc
Da /etc, cd .. passa alla directory superiore, /. cd - torna invece alla directory di lavoro precedente e, in Bash, stampa anche il percorso raggiunto. Per ottenere i risultati descritti, continua nella stessa shell, da /etc, rispettando questo ordine:
cd ..
pwd
cd -
pwd
Il primo pwd mostra /; poi cd - e l'ultimo pwd mostrano entrambi /etc. Due righe uguali sono quindi previste. cd - usa la variabile OLDPWD: se non è impostata può fallire, e se nel frattempo ti sei spostato altrove il risultato cambia.
Senza argomenti, cd usa la home indicata da HOME. In Bash anche cd ~ è una forma comune per raggiungerla. Non presumere che la home sia sempre /home/nomeutente; verifica la destinazione:
cd
pwd
Se cd segnala un errore, non interpretare il successivo pwd come prova che lo spostamento sia riuscito: potresti essere ancora nella directory precedente. Per un percorso relativo semplice, anche una variabile CDPATH personalizzata può influenzare la ricerca. I collegamenti simbolici e le modalità cd -L e cd -P possono inoltre cambiare il significato pratico di risalire con ...
Visualizzare la gerarchia con tree
tree rappresenta file e directory con rami e rientri. ls è utile per leggere il contenuto di una directory; tree aiuta a riconoscere la struttura dei livelli sottostanti. All'inizio limita la profondità per evitare output molto lunghi:
tree -d -L 1 /etc
Questo schema abbreviato e distanziato per leggibilità rappresenta due directory immediatamente sotto /etc. Non è una trascrizione completa dell'output: sul tuo sistema nomi e conteggi possono essere diversi e può comparire un riepilogo finale.
/etc
├── ssh
└── systemd
-d mostra soltanto le directory; -L 1 limita la profondità visualizzata a un livello sotto il punto iniziale. Per impostazione predefinita tree omette i nomi nascosti: l'assenza di una voce dall'albero non dimostra che non esista. Se serve includerli, verifica l'opzione -a nell'aiuto della versione installata.
Se compare command not found, controlla il nome e la disponibilità del programma; tree potrebbe non essere installato. Continua con ls e installalo soltanto se necessario seguendo la procedura della distribuzione. Il resto dell'esercizio non richiede tree.
Un esercizio di navigazione
Esegui i passaggi nell'ordine indicato e prova a prevedere la posizione prima di ogni pwd. È normale che l'elenco di /etc differisca dall'esempio. I comandi elencano informazioni e cambiano la posizione della shell: non creano, spostano o cancellano file.
- Esegui
pwde annota il punto di partenza. - Esegui
cd /etc; se riesce, controlla posizione e contenuto conpwdels. - Esegui
cd .., poi verifica conpwddi essere in/. - Esegui
cd -per tornare a/etc; infine usacdper andare nella home epwdper confermare.
La home non coincide necessariamente con il punto iniziale. Se vuoi tornare esattamente alla posizione annotata nel primo passaggio, usa quel percorso con cd, racchiudendolo tra virgolette se contiene spazi.
Per cd: ...: No such file or directory, controlla ortografia, maiuscole e posizione corrente. Permission denied può indicare che mancano i permessi di attraversamento su una componente del percorso. Non aggiungere automaticamente sudo: cd è un builtin e deve cambiare la shell in cui lavori, mentre un processo separato non può spostare la shell chiamante. Se sei disorientato, ricomincia da pwd.
Per opzioni e casi particolari consulta le guide a pwd e ai percorsi logici o fisici, ls e alle informazioni sui file, cd e alla navigazione della shell e tree e alla visualizzazione della gerarchia.
Documentazione ufficiale
Consulta la documentazione dei builtin GNU Bash per cd e pwd, il manuale GNU Coreutils di ls e il manuale tree(1) per le opzioni usate. La pagina bash(1) distribuita da Debian descrive anche i builtin e le variabili della shell.




