Appendice B — Struttura gerarchica dei file
I file in un sistema informatico sono organizzati secondo una struttura gerarchica ad albero, composta da directory (o cartelle) e file. Questo modello permette di organizzare, archiviare e recuperare le informazioni in modo logico ed efficiente.
- Radice (Root): il nodo principale da cui si diramano tutti i percorsi del file system.
- Directory: contenitori logici che possono ospitare file e altre directory (sottodirectory).
- File: elementi terminali che contengono dati o programmi.
Questa struttura, comune a tutti i sistemi operativi moderni, differisce principalmente nella notazione dei percorsi e nella gestione delle unità di memorizzazione.
B.1 Sistemi Unix-like (Linux e macOS)
Nei sistemi Unix-like, la gerarchia ha un’unica radice universale, rappresentata dal simbolo /. Tutti i file e le directory discendono da questo punto.
Esempio della struttura standard:
/
├── bin/ # Programmi di sistema essenziali
├── etc/ # File di configurazione del sistema
├── home/ # Directory personali degli utenti
│ └── utente/
│ ├── Documenti/
│ ├── Immagini/
│ └── Scaricati/
├── usr/ # Applicazioni e librerie utente
├── var/ # Dati variabili (log, cache, ecc.)
└── tmp/ # File temporanei
Notazione dei percorsi:
i percorsi assoluti iniziano sempre con / e utilizzano lo slash come separatore.
Esempio: /home/utente/Documenti/tesi.docx
B.2 Sistema Windows
Windows organizza i file in strutture gerarchiche separate, ciascuna radicata in una lettera di unità (es. C:, D:). La radice di ogni albero corrisponde quindi a un’unità disco specifica.
Esempio della struttura tipica:
C:\
├── Program Files\ # Applicazioni installate
├── Windows\ # File di sistema
├── Users\ # Profili degli utenti
│ └── utente\
│ ├── Documents\
│ ├── Pictures\
│ └── Downloads\
└── Temp\ # File temporanei
Notazione dei percorsi:
i percorsi assoluti iniziano con una lettera di unità seguita da due punti e un backslash (C:\), utilizzando il backslash come separatore.
Esempio: C:\Users\utente\Documents\tesi.docx
B.3 Comandi condamentali per la gestione
La seguente tabella presenta i comandi di base per navigare e gestire la struttura dei file nei due ambienti.
B.3.1 Terminale Unix/Linux/macOS (shell Zsh/Bash)
| Comando | Descrizione | Esempio di Utilizzo |
|---|---|---|
pwd |
Mostra il percorso della directory corrente (Print Working Directory) | pwd → /home/utente/Documenti |
cd |
Cambia directory (Change Directory) | cd /home/utente/Scaricati |
ls |
Elenca il contenuto di una directory (List) | ls -l |
mkdir |
Crea una nuova directory (Make Directory) | mkdir progetto_2024 |
mv |
Sposta o rinomina file/directory (Move) | mv documento.txt backup/ |
cp |
Copia file o directory (Copy) | cp -r cartella/ backup/ |
rm |
Rimuove file (Remove) | rm file_obsoleto.txt |
rmdir |
Rimuove una directory vuota (Remove Directory) | rmdir cartella_vuota |
whoami |
Mostra il nome dell’utente corrente | whoami → utente |
Esempio di sessione:
pwd
cd ~/Documenti
mkdir report
cd report
touch analisi.txt
ls
cp analisi.txt ../backup/
rm analisi.txt
cd ..
whoamiB.3.2 Prompt dei comandi Windows (CMD)
| Comando | Descrizione | Esempio di Utilizzo |
|---|---|---|
cd (senza argomenti) |
Mostra il percorso corrente | cd → C:\Users\utente\Documenti |
cd |
Cambia directory | cd C:\Users\utente\Downloads |
dir |
Elenca il contenuto di una directory | dir |
mkdir |
Crea una nuova directory | mkdir Dati |
move |
Sposta o rinomina file/directory | move rapporto.docx Archivio\ |
copy |
Copia file | copy originale.txt copia.txt |
del |
Elimina file (Delete) | del temp.txt |
rmdir |
Rimuove una directory vuota (Remove Directory) | rmdir VecchiaCartella |
whoami |
Mostra il nome dell’utente corrente | whoami → dominio\utente |
Esempio di sessione:
cd C:\Users\utente\Documenti
mkdir progetto
cd progetto
echo Test > note.txt
dir
move note.txt ..\Archivio\
cd ..\Archivio
copy note.txt backup_note.txt
del note.txt
whoamiB.4 Considerazioni finali
La logica sottostante alla gestione gerarchica dei file è sostanzialmente identica tra i sistemi operativi: ciò che cambia sono principalmente la sintassi dei comandi e le convenzioni nella notazione dei percorsi (slash / in Unix, backslash \ in Windows). La padronanza di questi comandi di base costituisce un prerequisito fondamentale per operare efficacemente in ambienti tecnici, specialmente nell’ambito della data science e dell’analisi computazionale.