UNIX - I file

Sui sistemi UNIX ogni elemento è rappresentato sotto forma di file. L'insieme dei file è strutturato intorno ad un'unica arborescenza la cui base, detta root, è siglata "/».

Tipi di file

I sistemi UNIX definiscono diversi tipi di file:

I file fisici, salvati sul disco duro. Si tratta di file nel senso in cui li intendiamo generalmente;

Le cartelle sono dei file (nodi) dell'arborescenza che possono contenere dei file o altre cartelle. Una cartella contiene almeno una cartella genitrice (sigla ..), corrispondente alla cartella di più alto livello, in una cartella corrente (sigla .), cioè essa stessa;

I link sono dei file speciali che permettono di associare più nomi (link) ad un solo e stesso file. Questo dispositivo permette di avere più istanze da uno stesso file in più postazioni dell'arborescenza senza bisogno di copie, il che permette soprattutto di assicurare il massimo della coerenza e di economizzare lo spazio sul disco. Si distinguono 2 tipi di link@nbsp:

I link simbolici che rappresentano dei puntatori virtuali (collegamenti) verso dei file reali. In caso di eliminazione del link simbolico il file puntato non è eliminato. I link simbolici sono creati con il comando In-s secondo la sintassi seguente :

In -s nome-del-file-reale nome-del-link-simbolico

;

I link fisici (detti anche link rigidi o in inglese hardlinks) rappresentano un nome alternativo per il file. Così, quando un file ha due link fisici, l'eliminazione di uno o dell'altro non implica necessariamente l'eliminazione del file. Più esattamente, fino a quando esiste almeno un link fisico, il file non è cancellato. D'altra parte quando tutti i link fisici di uno stesso file sono soppressi, viene eliminato anche il file bisogna notare tuttavia che è possibile creare dei link fisici soltanto all'interno di un solo e stesso sistema di file. I link fisici sono creati con il comando:

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� In (senza l'opzione -n) secondo la seguente sintassi:

ln nome-del-file-reale nome-del-link-fisico

.

I file virtuali non hanno un'esistenza effettiva dato che esistono solo nella memoria. Questi file, posti soprattutto nella cartella /proc contengono delle informazioni sul sistema (processore, memoria, disco rigido, processi, ecc.);

I file delle periferiche, posti nella cartella /dev/, corrispondono alle periferiche del sistema. Questa nozione può essere fuorviante per un nuovo utente in un primo tempo.

Nozione di punto di montaggio

I file di un sistema UNIX sono organizzati in un'arborescenza unica. È tuttavia possibile avere più partizioni grazie ad un meccanismo detto montaggio, che permette di collegare una partizione ad una cartella dell'arborescenza principale. Così il fatto di montare una partizione nella cartella /mnt/partition renderà l'insieme dei file della partizione accessibili partendo da questa cartella, detta «punto di montaggio».

La gerarchia dei file su Unix

Per assicurare la compatibilità e la portabilità, i sistemi UNIX rispettano la norma FHS (File Hierarchy Standard). La gerarchia di base di un sistema Unix è la seguente:

/ la radice, contiene le cartelle principali
/bin Contiene gli eseguibili essenziali al sistema, usati da tutti gli utenti.
/boot Contiene i file di caricamento del nucleo, fra cui il caricatore di avvio.
/dev Contiene i punti di entrata delle periferiche.
/etc Contiene i file di configurazione necessari all'ammnistrazione del sistema (file passwd, group, inittab, ld.so.conf, lilo, conf, ecc.).
/etc/X11 contiene i file specifici alla configurazione di X (contiene XF86Config ad esempio)
/home Contiene le cartelle personali degli utenti. Dato che le cartelle in /home sono destinate ad accogliere i file degli utenti del sistema, si consiglia di dedicare una partizione specifica alla cartella /boot per limitare i danni in caso di saturazione dello spazio sul disco.
/lib Contiene le biblioteche standard condivise tra le diverse applicazioni del sistema.
/mnt Permette di accogliere i punti di montaggio delle partizioni temporanee (cd-rom, floppy, ecc.).
/proc Raggruppa un insieme di file virtuali che permettono di ottenere delle informazioni sul sistema o i processi in corso di esecuzione.
/root Cartella personale dell'amministratore root. La cartella personale dell'amministratore è posta altrove rispetto alle altre cartelle personali dato che si trova sulla partizione radice, per poter essere caricata all'avvio, prima del montaggio della partizi���/home.
/sbin Contiene gli eseguibili essenziali del sistema (ad esempio il comando adduser).
/tmp Contiene i file temporanei
/usr Gerarchia secondaria
/usr/X11R6 Questa cartella è riservata al sistema X versione 11 release 6
/usr/X386 Usata prima da X versione 5, è un link simbolico verso /usr/X11R6
/usr/bin Contiene la maggior parte dei file binari e comandi utenti
/usr/include Contiene i file dell'intestazione per i programmi C e C++
/usr/lib Contiene la maggior parte delle biblioteche condivise dal sistema
/usr/local Contiene i dati relativi ai programmi installati sul terminale locale dal root
/usr/local/bin Binari dei programmi locali
/usr/local/include File di intestazione di C e C++ locali
/usr/local/lib Biblioteche locali condivise
/usr/local/sbin Binari locali del sistema
/usr/local/share Gerarchia indipendente
/usr/local/src File sorgente locali
/usr/sbin Contiene i file binari non essenziali al sistema riservati all'amministratore del sistema
/usr/share Risevato ai dati non dipendenti dall'architettura
/usr/src Contiene dei file del codice sorgente
/var Contiene dei dati versatili come i file di database, file di log, file di spoiler di stampa oppure mail in attesa.

Foto: © UNIX.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Il documento intitolato « UNIX - I file » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.