Laboratorio di Programmazione Federico Spizzo Dipartimento di Fisica / Edificio C Stanza 006 Tel: 0532 974231 E-mail: federico.spizzo@unife.it Gianluigi Cibinetto Dipartimento di Fisica / Edificio C Stanza 228 Tel: 0532 974328 E-mail: gianluigi.cibinetto@unife.it
Il sistema operativo / inux Il sistema operativo (all'inglese OS, operating system) è il programma responsabile del controllo e della gestione - dei componenti hardware che costituiscono un computer - dei programmi che su di esso girano Il sistema operativo mette anche a disposizione dei programmi una interfaccia software per accedere alle risorse hardware (dischi, memoria, I/O in generale) del sistema. utenti software altre periferiche (,,... )
Utenti / i Linguaggio C comandi base gestione dei file & directory gestione dispositivi di memoria (USB/floppy)
Il sistema operativo è MULTIutente: - amministratore di sistema (root) [possiede tutti i privilegi] - utente1 [i suoi privilegi possono essere limitati] - utente2 [i suoi privilegi possono essere limitati] -... Privilegi: r (read) il file/directory può essere letto/a dall utente w (write) il file/directory può essere scritto/a dall utente x (execute) il file può essere eseguito/a dall utente si può accedere alla directory Ogni utente gestisce i privilegi di accesso dei file/directory di sua proprietà Gli utenti sono divisi in gruppi
Organizzazione delle directory / directory principale (root) /bin /boot /dev /etc /home /lib... Primo livello di directory Secondo livello di directory /home/utente1 directory di lavoro di utente1 /home/utente2 directory di lavoro di utente2 /home/studente directory di lavoro di studente Come ci muoviamo tra le varie directory? -> la shell dei comandi All apertura della shell, l utente si trova automaticamente nella sua directory di lavoro Utente: studente -> passwd: studente directory di lavoro: /home/studente
home/studente> prompt dei comandi Elenco di comandi ls permette di visualizzare il contenuto della directory pwd permette di visualizzare il percorso assoluto della directory mkdir permette di creare una directory Sintassi: mkdir nome_directory cd permette di cambiare directory sintassi: cd percorso_directory_di_destinazione Se ci troviamo nella directory /home/studente e vogliamo andare nella sottodirectory programmi, possiamo scrivere: cd /home/studente/programmi (usando il percorso assoluto) oppure cd programmi (usando il percorso relativo) oppure cd./programmi (il simbolo. rappresenta la directory corrente)
Se ci troviamo nella directory /home/studente/programmi e vogliamo tornare in /home/studente, possiamo scrivere: cd /home/studente (usando il percorso assoluto) oppure cd.. (il simbolo.. rappresenta la directory che contiene quella attuale) Se siamo in /home/studente/programmi e vogliamo andare in /home/studente/varie possiamo scrivere: cd /home/studente/varie (usando il percorso assoluto) cd../varie (usando il percorso relativo) cp copia un file Sintassi: cp percorso_file_origine percorso_file_destinazione Se mi trovo nella directory /home/studente/programmi al cui interno si trova il file prova.txt cp prova.txt prova1.txt (creo una copia del file all interno della stessa directory) cp prova.txt /home/studente/varie/prova.txt (creo una copia del file all interno di un altra directory) Se sono in /home/studente, posso fare la stessa cosa in questo modo cp /home/studente/programmi/prova.txt /home/studente/varie/prova.txt cp./programmi/prova.txt./varie/prova.txt (il simbolo. rappresenta la directory corrente)
del cancella un file Sintassi: del percorso_file_da_cancellare Attenzione! Un file cancellato NON può essere recuperato mv sposta/rinomina un file Sintassi: mv percorso_iniziale_del_file percorso_finale_del_file cat mostra a video il contenuto di un file Sintassi: cat percorso_del_file tail mostra a video il contenuto della parte finale di un file Sintassi: tail percorso_del_file
I comandi visti fino ad ora possono essere utilizzati anche con alcune opzioni che ne modificano l esecuzione. Ad esempio ls ls -al produce come risultato l elenco dei file contenuti nella directory produce come risultato l elenco dei file contenuti nella directory; sono compresi i file nascosti e vengono mostrati i limiti d accesso di ciascun elemento della directory (privilegi) Output prodotto dal comando ls esempio.c indicazioni.txt Output prodotto dal comando ls -al Le caratteristiche indicate (r, w, x) si riferiscono a: User / Group / Others Per modificare le modalità di accesso si può utilizzare il comando chmod Esempio: voglio che gli utenti del mio gruppo possano modificare un file (esempio.c) che risulta loro accessibile solo in modalità lettura chmod g+w esempio.c U G O utente gruppo a cui appartiene l utente
La redirezione Alle volte può tornare utile non mostrare a video il risultato dell azione di un comando (ovvero l output del comando), ma salvarlo all interno di un file. Esempio: supponiamo di trovarci nella directory /home/studente ls il comando permette di visualizzare il contenuto della directory /home/studente ls > elenco_file.txt l operatore di redirezione, >, consente di salvare nel file elenco_file.txt l output del comando ls cat elenco_file.txt visualizziamo il contenuto del file elenco_file.txt per verificare quanto detto Per maggiori informazioni fare riferimento al manuale! Sintassi: man nome_del_comando_di_cui_mi_servono_le_opzioni man cp mostra tutte le informazioni relative al comando cp