Laboratorio di Programmazione
Federico Spizzo
Gianluigi Cibinetto
Dipartimento di Fisica / Edificio C
Dipartimento di Fisica / Edificio C
Stanza 006
Tel: 0532 974231
E-mail: [email protected]
Stanza 228
Tel: 0532 974328
E-mail: [email protected]
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
(
, , ... )
Linguaggio C
Il sistema operativo / Linux
Utenti / i
comandi base
gestione dei file & directory
gestione dispositivi di memoria (USB/floppy)
Il sistema operativo / Linux
Il sistema operativo è MULTIutente:
- amministratore di sistema (root)
- utente1
- utente2
- ...
[possiede tutti i privilegi]
[i suoi privilegi possono essere limitati]
[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
Il sistema operativo / Linux
Organizzazione delle directory
/
directory principale (root)
Primo livello di directory
/bin
/boot
/dev
/etc
/home
/lib
...
/home/utente1
/home/utente2
/home/studente
Secondo livello di directory
directory di lavoro di utente1
directory di lavoro di utente2
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
Il sistema operativo / Linux
Elenco di comandi
ls
pwd
permette di visualizzare il contenuto della directory
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)
Il sistema operativo / Linux
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)
Il sistema operativo / Linux
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
Il sistema operativo / Linux
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
U G O
utente
gruppo a cui appartiene l’utente
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
Il sistema operativo / Linux
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
Scarica

Laboratorio di Programmazione