unix/ gnu-linux - di.unito.itbotta/didattica/slide_intro.pdf · dipartimento di informatica...

56
Slides by Cristina Baroglio Unix/ GNU- Linux Marco Botta Dipartimento di Informatica Università di Torino 011-6706721 [email protected]

Upload: phungtuong

Post on 17-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

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

Utente / Sistema

?

Leggi posta

Scrivi doc.

Esegui programma

Guarda foto

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

Processi e flussi

stdin

stdout

stderr

Processo

Ambiente

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

Slides by Cristina Baroglio

Slides by Cristina Baroglio

Join (3)

➲ join file1 file2➲ Vengono usate come campi chiave le

prime colonne di ciascun file

➲ join -1 n1 -2 n2 file1 file2➲ Vengono usati come campi chiave le

colonne indicate dal numero n1 per file1 e da n2 per file2