View
215
Download
0
Category
Preview:
Citation preview
Sistemi Operativi - Introduzione1
Il sistema operativo UNIX/LINUX
Niccolò Battezzati <niccolo.battezzati@polito.it>
Politecnico di Torino
Dip. Automatica e Informatica
Sistemi Operativi - Introduzione2
Organizzazione
SISTEMI OPERATIVI
Docente:
Prof. Pietro Laface (pietro.laface@polito.it)
Esercitatore:
Ing. Niccolò Battezzati (niccolo.battezzati@polito.it)
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???
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!!!
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 ]
Sistemi Operativi - Introduzione7
Indice
• Introduzione
• Il file system
• I comandi principali
Sistemi Operativi - Introduzione8
Indice
• Introduzione
• Il file system
• I comandi principali
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”
Sistemi Operativi - Introduzione11
Caratteristiche principali
• Multitask (processi multipli “simultaneamente”) a ogni processo sono associati:– user– pid– ppid– status– tty– ...
Sistemi Operativi - Introduzione12
La struttura
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
Sistemi Operativi - Introduzione14
Indice
• Introduzione
• Il file system
• I comandi principali
Sistemi Operativi - Introduzione15
Il file system UNIX
• Caratteristiche:– gerarchico– organizzazione a directory– uniformità di notazione (dischi, directory, file)– non esistono estensione e versione– permessi
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 “/“
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
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!!!
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
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 – …
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
Sistemi Operativi - Introduzione25
Indice
• Introduzione
• Il file system
• I comandi principali
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Sistemi Operativi - Introduzione46
Visualizzazione una paginaper volta
• pg file ...• more file ...• less file ...
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
Recommended