UNIX e' un sistema operativo molto diffuso. Per sistema operativo si intende un insieme di programmi che fa funzionare il computer. Altri sistemi operativi sono: VMS, MacOS, DOS, Windows95, 98, NT, XP etc.Un' interfaccia grafica per sistemi UNIX e' data dal sistema X windows.
Per alcune operazioni non coperte dalle funzionalita' esistenti in ambiente grafico e' utile saper utilizzare i comandi di linea in ambiente UNIX.
UNIX e' composto da tre parti: il kernel, la shell ed i programmi.Il kernel
Il kernel di UNIX e' il cuore del sistema operativo: alloca risorse (twempo e memoria) ai programmi e manipola i files e le comunicazioni come risposta a chiamate a funzioni di sistema.Come illustrazione della cooperazione tra shell e kernel, supponiamo che un utente dia il comando rm myfile (che ha l' effeto di cancellare il file "myfile"). La shell cerca il file corrispondente al comando rm e quindi lo esegue. Il comando rm da origine a chiamate a primitive di sistema che provocano la cancellazione di myfile dall' elenco dei files del sistema. Quando il processo corrispondente ha terminato, la shell fa ricomparire sullo schermo il prompt ( dfisa2.ts.infn.it> by default at the Dipartimento di Fisica) tindicando cosi' di essere in attesa di nuovi comandi.
La shell
La shell funziona da interfaccia tra utente e kernel. Quando un utente si collega, il programma che gestisce il login verifica lo username e la password e quindi inizia l' esecuzione di un altro programma detto la shell. La shell e' un interprete di comandi
(CLI). Interpreta i comandi dati dall' utente e provvede alla loro esecuzione. I comandi sono dei programmi: quando termina la loro esecuzione la shell rida' un nuovo prompt ( dfisa2.ts.infn.it> ).L' utente puo' personalizzare la propria shell e possono essere usate piu' shell sullo stesso sistema. Su sistemi Linux la shell di default e' bash ma altre shell sono disponibili (sh, csh, bash, ksh).
Su UNIX tutto appare come un file o un processo.Un processo e' un programma in esecuzione caratterizzato da un identificatore (PID).
Un file e' una collezione di dati. Puo' essere creato dall' utente usando text editors, compilatori etc.Esempi di files:
- un documento (rapporto, saggio, lettera...)
- il testo di un programma scritto in linguaggio di alto livello.
- iistruzioni comprensibili solo per la macchina (file binario eseguibile);
- una directory contenente informazioni sul suo contenuto (files ed altre sottodirectories).
Tutti i files sono raggruppati nella struttura delle directories. . L' insieme dei files ( file-system) e' organizzato gerarchicamente come albero invertito. Il punto di partenza della gerarchia e' usualmente chiamato "root" ed e' indicato da uno slash ( / ).Nel precedente diagramma vediamo una directory ee51ab contenente la subdirectory unixstuff ed un file proj.txt