Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico...

39
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati <[email protected]> Politecnico di Torino Dip. Automatica e Informatica

Transcript of Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico...

Page 1: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione1

Il sistema operativo UNIX/LINUX

Niccolò Battezzati <[email protected]>

Politecnico di Torino

Dip. Automatica e Informatica

Page 2: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione2

Organizzazione

SISTEMI OPERATIVI

Docente:

Prof. Pietro Laface ([email protected])

Esercitatore:

Ing. Niccolò Battezzati ([email protected])

Page 3: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione3

Organizzazione

Laboratorio

– MER 13:00 – 16:00

– MER 16:00 – 19:00(LAIB 1D)

Esercitazioni in aula

– MAR 14:30 – 16:00(AULA 14 – non tutte le settimane)

Squadre:

– A: I-L + PoliTONG

– B: J-Z

– Alterniamo gli orari???

Page 4: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione4

Informazioni “utili”

Web site corso: ulisse.polito.it/matdid/3ing_inf_N5030_TO_0/

come trovarlo: Google (“ulisse sistemi operativi”)

laboratorio: http://www.cad.polito.it/staff/battezzati (didattica)

libri di testo:

– “The Linux A-Z”, Phil Cornes ISBN 0132347091

– Il web!!!

Page 5: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione5

Programma

• Linux: introduzione e comandi principali

• Shell: l’interprete dei comandi

• Linux: dettagli e comandi avanzati

• Shell: uso avanzato e script

• [ vi(m): un editor di testo ]

Page 6: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione7

Indice

• Introduzione

• Il file system

• I comandi principali

Page 7: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione8

Indice

• Introduzione

• Il file system

• I comandi principali

Page 8: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione10

Caratteristiche principali

• Multiutente (utenti multipli simultaneamente) a ogni user sono associati:– username– uid– gid– password– home– shell– ...

Esiste l’utente “root”opp.

si puo` usare “sudo”

Page 9: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione11

Caratteristiche principali

• Multitask (processi multipli “simultaneamente”) a ogni processo sono associati:– user– pid– ppid– status– tty– ...

Page 10: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione12

La struttura

Page 11: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione13

I comandi in UNIX

• La sintassi di un generico comando UNIX è:comando [-opzioni] [argomenti]

• I comandi troppo lunghi possono essere continuati sulla riga successiva battendo “\” come ultimo carattere della riga

• Si possono dare più comandi sulla stessa riga separandoli con “;” comando1 ; comando2 ; ...Essi saranno eseguiti in sequenza

Page 12: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione14

Indice

• Introduzione

• Il file system

• I comandi principali

Page 13: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione15

Il file system UNIX

• Caratteristiche:– gerarchico– organizzazione a directory– uniformità di notazione (dischi, directory, file)– non esistono estensione e versione– permessi

Page 14: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione17

La gerarchia del file system

• La directory radice dell’albero e` “/“ (slash)

• La directory corrente e` indicata con "." (dot)

• Il padre della directory corrente è indicato con ".." (dot dot)

• Le directory si separano con “/“

Page 15: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione18

I nomi dei file

• Il nome di un file può essere una sequenza di caratteri qualunque

• Non esistono estensione e versione• Esistono comunque desinenze o nomi molto

usati:.c .f .p .o .a .so a.out core

• Se il nome di un file inizia col carattere punto "." è detto file nascosto perchè normalmente non viene elencato

Page 16: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione19

I nomi dei file (cont.)

• Si sconsiglia di utilizzare i seguenti caratteri nei nomi dei file:– / \ “ ' * ; ? [ ] ( ) ~ – ! $ { } < > # @ & |

• Si può usare il carattere spazio (ma attenzione!)– Provate a scrivere il seguente programma in C:

Il programma prende sulla linea di comando (argv) due parametri, il nome di due file.

Successivamente legge prima il primo e poi il secondo e li stampa a video.

NOTA: i nomi dei due file possono contenere spazi!!!

Page 17: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione20

Il path

Per indicare un file all’interno del file system si deve specificarne il path:

– path assoluto: /dir1/dir2/file

– path relativo: subdir1/subdir2/file

Page 18: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione22

I permessi dei file

• Tre permessi di base:– read (r) : permesso di lettura– write (w) : permesso di scrittura– execute (x) : permesso di esecuzione

• Tre tipi di utenti:– user (u) : il proprietario– group (g) : il gruppo– others (o) : gli altri

Tre numeri ottali definiscono i permessi di un file:

rwx rwx rwx

Es. 755 – 644 – …

Page 19: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione23

Le protezioni dei direttori

• Le protezioni di una directory hanno un significato particolare:– x: attraversamento della directory– r: elenco dei file– w: creazione e/o cancellazione di file

Page 20: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione25

Indice

• Introduzione

• Il file system

• I comandi principali

Page 21: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione26

Gestione file ordinari

• cp [-fir] src1 src2 ... dest

– copia uno o più file (eventualmente in una directory)

• rm [-fir] file1 file2 …

– cancella i file elencati

• mv [-fi] file1 file2 ... dest

– sposta (rinomina) uno o più file, eventualmente in una directory

Page 22: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione27

Gestione file ordinari (cont.)

• Opzioni:– -f non chiede mai conferma– -i chiede conferma per ciascun file– -r opera ricorsivamente su tutti i file contenuti

nei sottodirettori

Page 23: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione28

Gestione directory

• cd <dir>– cambia la directory a quella indicata

• pwd– mostra il nome della directory corrente

• mkdir <dir>– crea la directory indicata

• rmdir <dir>– cancella la directory indicata (deve essere vuota)

Page 24: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione30

Gestione permessi

• Per cambiare i permessi ai file: chmod [-R] permessi file

• Permessi specificati in modo assoluto – tre numeri ottali

Esempi:– chmod 775 nomefile

Page 25: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione31

Gestione permessi (cont.)

• Permessi specificati in modo simbolico – una stringa di tre caratteri

1) u(ser), g(roup), o(ther), a(ll)

2) +, -, =

3) r, w, x

Esempi:– chmod g+r nomefile

Page 26: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione33

Gestione permessi (cont.)

• Per cambiare il proprietario e/o gruppo dei file:

chown [-R] utente[:gruppo] file chown [-R] uid[:gid] file

• In entrambi i casi, con l'opzione -R opera ricorsivamente su tutti i file delle sotto-directory

Page 27: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione34

Il comando ls

• Visualizza l’elenco dei file con le loro caratteristiche

• ls [-opzioni] [file ...] • Opzioni:

-a: elenca anche i file che iniziano con .-l: output in formato esteso-g: include l'indicazione del gruppo-t: elenca i file in ordine temporale-r: ordine inverso (alfabetico/temporale)-R: elenca anche i file nei sottodirettori

Page 28: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione35

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Page 29: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione36

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Tipo di file

Page 30: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione37

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Permessi

Page 31: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione38

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

N° di link

Page 32: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione39

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Owner

Page 33: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione40

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Group

Page 34: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione41

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Dimensione

Page 35: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione42

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Data di creazione

Page 36: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione43

ls - un esempio

# ls -alg ~/tmptotal 84drwx------ 6 maino staff 512 Sep 1 16:14 .drwxr-xr-x 19 maino staff 1024 Sep 6 09:06 ..-rw-r--r-- 1 maino staff 1240 Jan 21 1992 AA.readmedrwxr-x--- 2 maino staff 512 May 22 14:08 examples-rw------- 1 maino staff 2416 Jun 30 15:24 gendata.c-rw------- 1 maino staff 332 Jun 18 15:29 local.cdrwxr-xr-x 2 maino staff 512 May 22 14:08 man-rw-r----- 1 maino staff 27930 Mar 12 23:19 new.tex-rw------- 1 maino staff 28077 Mar 12 22:52 numer.tex-rw-r----- 1 maino staff 70 Jun 2 18:00 prova.tex-rw-r----- 1 maino staff 1364 May 6 14:20 random.c-rw-r----- 1 maino staff 62 May 6 14:21 random.hdrwx------ 2 maino staff 512 May 25 14:36 testprof

Nome del file

Page 37: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione44

Visualizzazione di file testo

• Mediante un editor (es. vi o emacs)• cat file …

– visualizza i file, concatenandoli• head [-n] file …

– visualizza le prime n righe• tail [-n] file …

– visualizza le ultime n righe

Page 38: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione46

Visualizzazione una paginaper volta

• pg file ...• more file ...• less file ...

Page 39: Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Sistemi Operativi - Introduzione47

Visualizzazione una paginaper volta (cont.)

• Comandi durante la visualizzazione:– spazio prossima pagina– return prossima riga– b pagina precedente– /pattern prossima occorrenza di ‘pattern’– ?pattern occorrenza precedente di ‘pattern’– q termina la visualizzazione