In questo capitolo si analizza la struttura logica del file system,
cioe' il modo in cui appare all' utente, e le operazioni che l' utente stesso
puo'ò effettuarvi. Per la struttura interna, cioe' quella realizzativa, vedi
File System - struttura interna. Per file system
si intende l'insieme dei dati (file),la loro organizzazione e le regole
per la loro gestione; il kernel del Sistema opera sul File System tramite
un suo sottosistema preposto a tale scopo La sua importanza e' enorme in
un SO come UNIX, in cui come si e' gia' accennato, qualsiasi entita' e'
" vista " come file.
Il SO UNIX supporta un vasto numero di comandi eseguibili, senza
contare gli strumenti software indipendenti per facilitare l'uso di UNIX
e per la programmazione della shell. In questo capitolo si e' preferito
fornire una descrizione dettagliata solo dei comandi ritenuti piu' comuni
e di uso piu' frequente; in ogni caso, per referenziare qualsiasi comando,
si puo' usare il comando "man" o il comando "help",
trattati in questo capitolo. Abbiamo suddiviso i comandi in gruppi funzionali. La trattazione dei comandi descritti in dettaglio ricalca volutamente
quella tipica del manuale in linea di UNIX per poter referenziare piu'
velocemente gli altri comandi.
La shell è il programma che sta in attesa dei comandi introdotti
dal terminale, li riceve e li traduce nella sintassi interna del sistema.
Il termine shell indica effettivamente la funzione che svolge, cioe' una
funzione di schermo o interfaccia che si colloca tra la parte piu' interna
del SO e il mondo esterno. Molte funzioni offerte da UNIX derivano dalla
shell, che puo' quindi essere considerato una parte integrante del sistema.
In questo capitolo si descrivono brevemente i tipi principali di shell,
e si forniscono le istruzioni di base per la programmazione e la creazione
di shell script nella tc shell.
Il “make” e’' un programma di sviluppo del software. Per realizzare
anche piccole applicazioni in C generalmente si usano piu’ file sorgenti,
file di libreria, header file etc. , la cui gestione in fase di compilazione
e linking puo’ essere ripetitiva e lunga. UNIX consente tramite il “make”
di memorizzare le dipendenze tra i vari file e di aggiornare solo quei
file che sono stati modificati. In questo contesto il termine aggiornare
si riferisce ad un' ’operazione di compilazione o linking, anche se puo'
includere la rimozione di file temporanei. Questo processo di aggiornamento
puo'’ talvolta essere ripetuto dozzine di volte durante lo sviluppo del
progetto software : invece di gestire tutto cio'’ manualmente ogni volta,
tramite il make tale procedura e’ automatizzata, garantendo un notevole
risparmio di tempo.