View
218
Download
0
Category
Preview:
Citation preview
Slides by Cristina Baroglio
Unix/ GNU- Linux
Marco Bot taDip ar t im en to d i In form at ica
Un ivers it à d i Tor in o011- 6706721
bot ta@d i.u n ito .it
Slides by Cristina Baroglio
URL del corso
http:/ / www.di.unito.it / ~botta/ didatt ica/ masterbio.html
protocollo
id. macchina
cammino1 3
2
1
2
3
Computer Studente Computer Docente
Slides by Cristina Baroglio
Macchina Fisica
➲ Hardware: macchina fisica● Elaborazione = propagazione di differenze
di potenziale
➲ Interpretazione: bit ed operazioni sui bit
➲ Primo passo: ● trasformare i bit in simboli● Es: 100 0010 0001 SUM i1 i2
Slides by Cristina Baroglio
Macchina Astratta
M. Fisica
M. Astratta1
M. Astratta2
Regole di traduzione
Principio:tutti i livelli sono equivalenti dal punto di vista computazionale
Slides by Cristina Baroglio
Quanti livelli?
➲ A piacere!
Bla blabla bla
Monitor
Metafora:oggetti +azioni
es. file
L' utente interagiscecon un'interfacciagrafica
copia
rinomina
cancella
Slides by Cristina Baroglio
Cosa c'è nel mezzo?
Bla blabla blaLivelli Bassi
gestione I/O, gestione degli utenti, dei file della memoria ecc.
Il Sistema Operativo
(1) gestisce le risorse e (2) nasconde le complicazioni
Slides by Cristina Baroglio
Utente non esperto ... (1)
➲ Esistono i file● Unità di memoria● File = documento● Vi sono diversi tipi di file, estensione = in-
dicatore del tipo
➲ Domanda: ● posso avere due file con lo stesso nome?● ... dipende ...
Slides by Cristina Baroglio
Utente non esperto ... (2)
➲ Esistono anche le cartelle● Raccoglitori di file● Posso avere file con lo stesso nome in
cartelle diverse!● Le cartelle sono tutte dello stesso tipo● Si possono creare, cancellare, copiare, ...
➲ Domanda: ● Se 2 utenti usano lo stesso computer pos-
sono usare/modificare uno i file dell'altro?● ... dipende ...
Slides by Cristina Baroglio
Utente non esperto ... (3)
➲ Utenti:● A cosa servono login e password?● Possono più utenti lavorare contempo-
raneamente su di una stessa macchina? (ma una macchina non ha una tastiera sola?)
● Ha senso parlare di tipi di utenti differenti?
Slides by Cristina Baroglio
Utente non esperto ... (4)
➲ Esecuzione di programmi:● Apro un editor e comincio a scrivere del
testo, intanto ascolto un mp3 mentre il mio browser scarica un applicativo da in-ternet e un software di simulazione es-egue un esperimento che terminerà fra un paio d'ore ...
● Come può avvenire tutto ciò contempo-raneamente?
Slides by Cristina Baroglio
Sistema Operativo
Gestisce le risorse (memoria, CPU, ...), nasconde le complicazioni dell'HW,
gestisce gli utenti, i processi, tutto ciò in maniera trasparente all'utente
Es. Windows 2000/NT/XP/ME, Solaris, Irix, BeOS, OS X, freeBSD, Unix, Linux (RedHat,
SuSe, Mandrake, Debian, ...), Symbian
Slides by Cristina Baroglio
Linux
➲ File System➲ Gestione degli Utenti➲ Shell➲ Comandi di base➲ Editor➲ Ambiente di lavoro
Slides by Cristina Baroglio
File System
➲ L'utente vede la memoria organizzata in file➲ File: sequenza di byte, ha un nome, un contenuto e
vari attributi, fra cui il proprietario, la data di ultima modifica, la dimensione
➲ I file sono organizzati in una struttura gerarchica: un albero
Radice / root
Slides by Cristina Baroglio
Alberi e scatole cinesi
Radice / root
Le due rappresentazionisono equivalenti
Slides by Cristina Baroglio
Cammini assoluti
Radice / root
Docbinsrc
Applic1
alfa beta
gammaalfa
(a) /Doc/alfa(b) /src/Applic1/alfa
Slides by Cristina Baroglio
Utenti
➲ Linux (Unix) è un S.O. multi-utente➲ Ogni utente è identificato da login (id.
Pubblico) e password (id. Privato)➲ Ogni utente deve poter lavorare come
se fosse l'unico che utilizza quella macchina
➲ Ogni utente è proprietario di una porzione del file system
Slides by Cristina Baroglio
Utenti e file system
Radice / root
usr
rossiverdi
Home directory:~verdi~rossi
Slides by Cristina Baroglio
Shell
>> comando [parametri]
...output del comando>>
I comandi sono datiin forma testuale
Un comando puòavere degli argomenti(parametri)
Dopo l'elaborazionepuò essere visualizzatoun output
il prompt indica chela shell è in attesa di comandi
Shell = interfaccia utenteè un interprete di comandi
Slides by Cristina Baroglio
Metafora
➲ La metafora non è più quella degli oggetti con azioni applicabili
➲ Al computer si “parla” con un linguag-gio molto rigoroso
All'atto del login si entra in un ambiente grafico ma per lavorare occorre per lo più interagire con il sistema in forma testuale
vantaggio: incremento esponenziale della flessibilità
Slides by Cristina Baroglio
Primi comandi
whoami date clear finger nome_utente who traceroute 12.234.21.8
Sistema case-sensitive,ovvero le maiuscole sono intese diverse dalle corrispondenti minuscole(Windows è case-insensitive)
i nomi di file e directory nonpossono contenere spazi
Slides by Cristina Baroglio
Working Directory (1)
➲ Molti comandi consentono di lavorare su file, che vengono passati come ar-gomento:
cp /usr/pippo/file1.doc /usr/pippo/file2.doc
➲ Usare cammini assoluti è scomodo➲ Ogni utente ha associata una directory
di lavoro (working directory) ...
Slides by Cristina Baroglio
Working Directory (2)
➲ In molti sistemi Unix, la W.D. è inizial-izzata alla Home Directory, all'inizio della sessione di lavoro
➲ Può essere modificata➲ Per fare riferimento a file contenuti
nella W.D. è sufficiente il nome
cp file1.doc file2.doc
Slides by Cristina Baroglio
Working Directory (3)
Radice / root
rossi
progetti
backup
file1.txt file2.doc
WD
> cd progetti
> cd ../backup
Slides by Cristina Baroglio
Radice / root
WD
Se voglio copiare ilfile /Doc/alfa in Applic1, che è la WD:
>> cp ../../Doc/alfa .
Cammini Relativi
Docbinsrc
Applic1
delta beta
gammaalfa
Slides by Cristina Baroglio
Comandi per file e directory
➲ cp file1 file2➲ cp file1 directory➲ mv file1 file2➲ mv file1 [... fileN] directory➲ mv directory1 directory2➲ rm file1 [... fileN]
● N.B. File e directory possono essere pre-ceduti da un cammino
➲ rmdir directory
Slides by Cristina Baroglio
Comandi per file e directory
➲ ls➲ ls nome*➲ ls -t➲ ls -lt➲ cd➲ cd directory➲ pwd➲ mkdir directory
Slides by Cristina Baroglio
Diritti di Accesso (1)
➲ Se più utenti si suddividono il file sys-tem, come si può essere sicuri che un altro utente non modificherà docu-menti importanti o leggerà infor-mazioni riservate?
➲ Ogni file/directory ha associati dei diritti di accesso
Slides by Cristina Baroglio
Diritti di Accesso (2)
➲ Utente privilegiato: root, l'amministra-tore di sistema
➲ Ogni file/dir ha un proprietario, che in-izialmente corrisponde all'utente che lo ha creato
➲ Gli utenti sono divisi in gruppi di la-voro
Slides by Cristina Baroglio
Diritti di Accesso (3)
➲ Ogni file ha associate 3 triple di per-messi: lettura (r), scrittura (w) ed ese-cuzione (x)
➲ La prima tripla corrisponde ai diritti del proprietario, la seconda a quelli degli utenti appartenenti al gruppo del pro-prietario (definiti da amministratore), la terza tutti gli altri utenti
Slides by Cristina Baroglio
Esempio
➲ r w - r - - - - - documento.txt➲ Il file può essere letto/modificato dal
proprietario, solo letto dal gruppo, mentre gli altri utenti non possono neanche leggerlo
➲ Il simbolo meno significa che il perme-sso è disabilitato
Slides by Cristina Baroglio
Esempio
➲ r w x r – x - - x programma➲ Non tutti i file sono eseguibili, per es-
serlo devono essere dei programmi eventualmente compilati. Le 'x' nell'e-sempio indicano che programma è es-eguibile x tutti gli utenti; può essere lanciato da linea di comando. È leggi-bile solo da proprietario e gruppo e modificabile solo dal proprietario
Slides by Cristina Baroglio
Comando ls - l
➲ ls -l directory➲ Visualizza i file e le loro proprietà
compresi i diritti di accesso➲ es.
-rw- r-- r-- 1 botta mrtg 479 Jan 21 14:31 pr.htmldrwx r-x r-x 2 botta mrtg 4096 Nov 21 20:52 tmp -rwx r-x r-x 1 botta mrtg 136 Nov 4 10:46 wi.reg
Slides by Cristina Baroglio
Diritti di Accesso (4)
➲ Le directory hanno diritti di accesso analoghi ai file:
● Lettura (r): listare il contenuto della direc-tory
● Scrittura (w): creare o cancellare file● Attraversamento (x): posso usare la direc-
tory in un cammino
Slides by Cristina Baroglio
Esempio
➲ d r w x r – x - - - Documenti➲ Il proprietario può eseguire, fra le altre cose:
● ls● rm Documenti/file● mv testo.sxi Documenti/report.sxi
➲ Il gruppo non può eseguire rm
➲ Gli altri non possono neppure listare il contenu-to della cartella
Slides by Cristina Baroglio
Comando chmod
➲ Consente di cambiare i diritti di acces-so a file e directory:
● chmod {u, g, o, a} {+, -} {r, w, x}
➲ u = proprietario, g = gruppo, o = altri, a = tutti
➲ + = aggiungi permesso, - = rimuovi permesso
➲ r = lettura, w = modifica, x = esecuz / attraversamento
Slides by Cristina Baroglio
Esempio chmod
➲ r w - r - - - - - file1
➲ chmod g+w file1➲ r w - r w - - - - file1➲
➲ Se invece: chmod a+x file1➲ r w x r – x - - x file1
Slides by Cristina Baroglio
Comando chown
➲ chown new_o[:new_gr] file
➲ Viene cambiato il proprietario (ed eventualmente il gruppo) di file
➲ Implicitamente cambiano anche i dirit-ti d' accesso!
Slides by Cristina Baroglio
Esempio chown
➲ r w - r - - - - - ut1 gr1 doc.txt
➲ chown ut2 doc.txt➲ r w - r - - - - - ut2 gr1 doc.txt
➲ Se invece: chown ut2:gr3 doc.txt➲ r w - r - - - - - ut2 gr3 doc.txt
Slides by Cristina Baroglio
Processi e flussi standard
➲ Ogni esecuzione di un programma è detta processo.
➲ Un processo ha un identificatore nu-merico (PID) ed esiste per un tempo di norma limitato.
➲ I processi sono gestiti dal SO in modo tale da ottenere un parallelismo vir-tuale
➲ Ogni processo ha un proprietario, che può ucciderlo
Slides by Cristina Baroglio
Vedere i processi nel sistema
➲ Comando ps (processes):Es.
● >>ps [-aux]● PID TTY TIME CMD● 4474 pts/1 00:00:00 bash● 4631 pts/1 00:00:00 ps
➲ PID: id del processo, TTY: id del termi-nale, TIME: tempo di CPU, CMD: co-mando corrispondente al processo
➲ kill -9 pid (uccide il processo con PID=pid)
Slides by Cristina Baroglio
Ridirezione dei flussi
➲ Valori di default: ● Stdin: tastiera● Stdout: monitor● Stderr: monitor
➲ Ridirezione: mi consente di usare lo stesso programma facendo però lag-gere l'input da file o salvare l'output su file
Slides by Cristina Baroglio
Ridirezione (2)
➲ Ridirezione dell'input:programma < file_dati
➲ Ridirezione dell'output:programma > file_risultati
➲ Concatenazione di programmi ...
Slides by Cristina Baroglio
➲ pipe: è uno strumento che ridirige lo stdout di un processo nello stdin di un altro processo; solo l'output del sec-ondo viene riversato a video
➲ Effetto: composizione dell'elabo-razione dei due processi
Es. ls | wc -l
Pipe
Lista il contenuto diuna directory Conta linee
Slides by Cristina Baroglio
Esempi
➲ ls -l | more➲ Visualizza il contenuto di una directory
a paginate➲ ps -aux | grep botta➲ Estrae dall'elenco dei processi in ese-
cuzione sul sistema solo quelli nella cui descrizione compare il nome botta
Slides by Cristina Baroglio
Elaborazione di File di Dati
Uso d i sem p lici com an d iEsp ress ion i regolar i
AWK
Slides by Cristina Baroglio
Sort
➲ sort [option] file1 ... fileN
➲ Consente di ordinare, fondere o con-frontare le linee dei file in input
➲ Ha tre modalità di operazione:
● -c controlla se i file sono ordinati● -m fonde i file ed ordina l'insieme risul-
tante● Altrimenti esegue l'ordinamento
Slides by Cristina Baroglio
Esempio
c 10a 2z 1b 8a 21c 3x 4
a 2a 21b 8c 10c 3x 4z 1
Dati originari Risultato
sort dati
Righe ordinate in basealla prima colonna
Slides by Cristina Baroglio
Sort (2)
➲ Il comando sort è case-sensitive (maiuscole diverse da minuscole) per renderlo case-insensitive occorre us-are l'opzione -f
➲ sort -f dati
Slides by Cristina Baroglio
Sort (2)
➲ Il comando sort consente anche di ef-fettuare ordinamenti inversi occorre usare l'opzione -r
➲ sort -r dati
Slides by Cristina Baroglio
Sort (3)
➲ Il comando sort consente fondere in modo ordinato il contenuto di più file
➲ sort dati1 dati2
Slides by Cristina Baroglio
Join
Luca Bosco 111Luca Audasso 112Margherita Rossi 113Orestina Verdi 114
utenti
111 Promessi Sposi113 Odissea113 Iliade
libri
111 luca bosco promessi sposi113 margherita rossi odissea113 margherita rossi iliade
risultato
Slides by Cristina Baroglio
Join (2)
➲ I file sono divisi in campi ➲ Un campo è una sequenza (stringa) di
caratteri➲ I campi sono separati da spazi➲ Il campo di collegamento è detto chi-
ave➲ Le righe devono essere ordinate
rispetto alla chiave
Recommended