Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica...

46
Unix/GNU-Linux Cristina Baroglio Dipartimento di Informatica Università di Torino 011-6706703 [email protected]

Transcript of Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica...

Page 1: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Unix/GNU-Linux

Cristina BaroglioDipartimento di Informatica

Università di Torino011-6706703

[email protected]

Page 2: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

URL del corso

http://www.di.unito.it/~baroglio/bioinfo/aa0304/index.html

protocollo

id. macchina

cammino1 3

2

1

2

3

Computer Studente Computer Docente

Page 3: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Utente / Sistema

?

Leggi posta

Scrivi doc.

Esegui programma

Guarda foto

Page 4: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 5: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Macchina Astratta

M. Fisica

M. Astratta1

M. Astratta2

Regole di traduzione

Principio:tutti i livelli sono equivalenti dal punto di vista computazionale

Page 6: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Quanti livelli?

➲ A piacere!

Bla blabla bla

Monitor

Metafora:oggetti +azioni

es. file

L' utente interagiscecon un'interfacciagrafica

copia

rinomina

cancella

Page 7: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 8: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 ...

Page 9: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 ...

Page 10: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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?

Page 11: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 esegue un esperimento che terminerà fra un paio d'ore ...

● Come può avvenire tutto ciò contempo-raneamente?

Page 12: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 13: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Linux

➲ File System➲ Gestione degli Utenti➲ Shell➲ Comandi di base➲ Editor➲ Ambiente di lavoro

Page 14: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 ul-tima modifica, la dimensione

➲ I file sono organizzati in una struttura gerarchica: un albero

Radice / root

Page 15: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Alberi e scatole cinesi

Radice / root

Le due rappresentazionisono equivalenti

Page 16: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Cammini assoluti

Radice / root

Docbinsrc

Applic1

alfa beta

gammaalfa

(a) /Doc/alfa(b) /src/Applic1/alfa

Page 17: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 18: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Utenti e file system

Radice / root

usr

rossiverdi

Home directory:~verdi~rossi

Page 19: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 20: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Metafora

➲ La metafora non è più quella degli oggetti con azioni applicabili

➲ Al computer si “parla” con un lin-guaggio 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à

Page 21: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 22: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 directo-

ry di lavoro (working directory) ...

Page 23: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 24: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Working Directory (3)

Radice / root

rossi

progetti

backup

file1.txt file2.doc

WD

> cd progetti

> cd ../backup

Page 25: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Radice / root

WD

Se voglio copiare ilfile /Doc/alfa in Applic1, che è la WD:

>> cp ../../Doc/alfa .

Cammini Relativi

Docbinsrc

Applic1

delta beta

gammaalfa

Page 26: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 27: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Comandi per file e directory

➲ ls➲ ls nome*➲ ls -t➲ ls -lt➲ cd➲ cd directory➲ pwd➲ mkdir directory

Page 28: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 29: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 30: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 proprietario (definiti da amminis-tratore), la terza tutti gli altri utenti

Page 31: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 per-messo è disabilitato

Page 32: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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 è eseguibile x tutti gli utenti; può essere lanciato da linea di comando. È leggi-bile solo da proprietario e gruppo e modificabile solo dal proprietario

Page 33: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Comando ls -l

➲ ls -l directory➲ Visualizza i file e le loro proprietà

compresi i diritti di accesso➲ es.

-rw- r-- r-- 1 baroglio mrtg 479 Jan 21 14:31 pr.htmldrwx r-x r-x 2 baroglio mrtg 4096 Nov 21 20:52 tmp -rwx r-x r-x 1 baroglio mrtg 136 Nov 4 10:46 wi.reg

Page 34: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 35: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 36: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Comando chmod

➲ Consente di cambiare i diritti di ac-cesso 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

Page 37: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 38: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Comando chown

➲ chown new_o[:new_gr] file

➲ Viene cambiato il proprietario (ed eventualmente il gruppo) di file

➲ Implicitamente cambiano anche i diritti d' accesso!

Page 39: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 40: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 41: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Vedere i processi nel sistema

➲ Comando ps (processes):Es.

● >>ps● 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)

Page 42: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Processi e flussi

stdin

stdout

stderr

Processo

Ambiente

Page 43: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

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

Page 44: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Ridirezione (2)

➲ Ridirezione dell'input:programma < file_dati

➲ Ridirezione dell'output:programma > file_risultati

➲ Concatenazione di programmi ...

Page 45: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

➲ 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

Page 46: Unix/GNU-Linux - di.unito.itbaroglio/bioinfo/aa0304/slide_intro.pdf · Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it. ... nasconde le complicazioni

Esempi

➲ ls -l | more➲ Visualizza il contenuto di una directo-

ry a paginate➲ ps -aux | grep baroglio➲ Estrae dall'elenco dei processi in ese-

cuzione sul sistema solo quelli nella cui descrizione compare il nome baroglio