Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Dip. Automatica e Informatica
Il sistema operativo UNIX/LINUX Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica 1 Sistemi Operativi - Introduzione 1 1
2
Organizzazione SISTEMI OPERATIVI Docente:
Prof. Pietro Laface Esercitatore: Ing. Niccolò Battezzati 2 Sistemi Operativi - Introduzione 2
3
Sistemi Operativi - Introduzione
Organizzazione Esercitazioni in aula MAR 14:30 – 16:00 (AULA 14 – non tutte le settimane) Laboratorio MER 13:00 – 16:00 MER 16:00 – 19:00 (LAIB 1D) Squadre: A: I-L + PoliTONG B: J-Z Alterniamo gli orari??? 3 Sistemi Operativi - Introduzione 3
4
Sistemi Operativi - Introduzione
Informazioni “utili” Web site corso: ulisse.polito.it/matdid/3ing_inf_N5030_TO_0/ come trovarlo: Google (“ulisse sistemi operativi”) laboratorio: (didattica) libri di testo: “The Linux A-Z”, Phil Cornes ISBN Il web!!! 4 Sistemi Operativi - Introduzione 4
5
Sistemi Operativi - Introduzione
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 ] 5 Sistemi Operativi - Introduzione 5
6
Sistemi Operativi - Introduzione
Programma Linux: introduzione e comandi principali introduzione file system (base) comandi principali vi(m): un editor di testo demo dell’editor introduzione alle regexp Shell: l’interprete dei comandi sessioni funzioni di interpretazione scripting di base Linux: dettagli e comandi avanzati inode processi filtri (sed, grep, awk) Shell: uso avanzato e script regexp sintassi e controllo di flusso gestione parametri array 6 7 6 Sistemi Operativi - Introduzione 6
7
Sistemi Operativi - Introduzione
Indice Introduzione Il file system I comandi principali 7 Sistemi Operativi - Introduzione 7
8
Sistemi Operativi - Introduzione
Indice Introduzione Il file system I comandi principali 8 Sistemi Operativi - Introduzione 8
9
Sistemi Operativi - Introduzione
Una sessione di lavoro Inizio di una sessione: login: Password: Fine di una sessione: CTRL-d exit logout ATTENZIONE ! Unix è case sensitive: i caratteri maiuscoli sono considerati diversi da quelli minuscoli 9 Sistemi Operativi - Introduzione 9
10
Esiste l’utente “root”
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” 10 Sistemi Operativi - Introduzione 10
11
Sistemi Operativi - Introduzione
Caratteristiche principali Multitask (processi multipli “simultaneamente”) a ogni processo sono associati: user pid ppid status tty ... 11 Sistemi Operativi - Introduzione 11
12
Sistemi Operativi - Introduzione
La struttura Programs Shell Unix kernel HW 12 Sistemi Operativi - Introduzione 12
13
Sistemi Operativi - Introduzione
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 13 Sistemi Operativi - Introduzione 13
14
Sistemi Operativi - Introduzione
Indice Introduzione Il file system I comandi principali 14 Sistemi Operativi - Introduzione 14
15
Sistemi Operativi - Introduzione
Il file system UNIX Caratteristiche: gerarchico organizzazione a directory uniformità di notazione (dischi, directory, file) non esistono estensione e versione permessi 15 Sistemi Operativi - Introduzione 15
16
Sistemi Operativi - Introduzione
La gerarchia del file system bin sbin dev etc lib tmp var usr bin etc include lib man local / adm spool tmp 16 Sistemi Operativi - Introduzione 16
17
Sistemi Operativi - Introduzione
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 “/“ 17 Sistemi Operativi - Introduzione 17
18
Sistemi Operativi - Introduzione
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 18 Sistemi Operativi - Introduzione 18
19
Sistemi Operativi - Introduzione
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!!! 19 Sistemi Operativi - Introduzione 19
20
Sistemi Operativi - Introduzione
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 20 Sistemi Operativi - Introduzione 20
21
Sistemi Operativi - Introduzione
I link Due tipi di link: hard link: un nome (in una directory) che punta ad un i-node puntato anche da altri nomi soft link (symbolic link): un file che come unico blocco dati ha il nome di un altro file Particolarità: no hard link ad una directory no hard link a file su un altro file system un file è fisicamente rimosso solo quando tutti i suoi hard link sono stati rimossi 21 Sistemi Operativi - Introduzione 21
22
Sistemi Operativi - Introduzione
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 – … 22 Sistemi Operativi - Introduzione 22
23
Sistemi Operativi - Introduzione
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 23 Sistemi Operativi - Introduzione 23
24
Sistemi Operativi - Introduzione
Modi speciali Tre modi speciali (per i file eseguibili): setuid (s) : viene eseguito come se fosse root ad eseguirlo setgid (S) : viene eseguito con lo stesso GID di root sticky (t) : l'inamovibile; se settato per una directory, allora unicamente il proprietario del file contenuto o della directory (o root) può cancellare o rinominare i file nella cartella; il divieto vale anche qualora la persona abbia i permessi per scrivere nella directory 24 Sistemi Operativi - Introduzione 24
25
Sistemi Operativi - Introduzione
Indice Introduzione Il file system I comandi principali 25 Sistemi Operativi - Introduzione 25
26
Sistemi Operativi - Introduzione
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 26 Sistemi Operativi - Introduzione 26
27
Sistemi Operativi - Introduzione
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 27 Sistemi Operativi - Introduzione 27
28
Sistemi Operativi - Introduzione
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) 28 Sistemi Operativi - Introduzione 28
29
Sistemi Operativi - Introduzione
I link ln source alias crea un hard link ln -s source alias crea un soft link 29 Sistemi Operativi - Introduzione 29
30
Sistemi Operativi - Introduzione
Gestione permessi Per cambiare i permessi ai file: chmod [-R] permessi file Permessi specificati in modo assoluto tre numeri ottali Esempi: chmod 775 nomefile 30 Sistemi Operativi - Introduzione 30
31
Sistemi Operativi - Introduzione
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 31 Sistemi Operativi - Introduzione 31
32
Sistemi Operativi - Introduzione
Gestione permessi (cont.) umask mostra (in forma assoluta) i permessi che sono negati quando si crea un file (la maschera delle protezioni); ad es. con modo 666, si ha, se umask riporta 022, 666 & ~022 = 644 (man 2 umask) umask maschera per definire la maschera delle protezioni 32 Sistemi Operativi - Introduzione 32
33
Sistemi Operativi - Introduzione
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 33 Sistemi Operativi - Introduzione 33
34
Sistemi Operativi - Introduzione
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 34 Sistemi Operativi - Introduzione 34
35
Sistemi Operativi - Introduzione
ls - un esempio # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 35 Sistemi Operativi - Introduzione 35
36
Sistemi Operativi - Introduzione
ls - un esempio Tipo di file # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 36 Sistemi Operativi - Introduzione 36
37
Sistemi Operativi - Introduzione
ls - un esempio Permessi # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 37 Sistemi Operativi - Introduzione 37
38
Sistemi Operativi - Introduzione
ls - un esempio N° di link # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 38 Sistemi Operativi - Introduzione 38
39
Sistemi Operativi - Introduzione
ls - un esempio Owner # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 39 Sistemi Operativi - Introduzione 39
40
Sistemi Operativi - Introduzione
ls - un esempio Group # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 40 Sistemi Operativi - Introduzione 40
41
Sistemi Operativi - Introduzione
ls - un esempio Dimensione # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 41 Sistemi Operativi - Introduzione 41
42
Sistemi Operativi - Introduzione
ls - un esempio Data di creazione # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 42 Sistemi Operativi - Introduzione 42
43
Sistemi Operativi - Introduzione
ls - un esempio Nome del file # ls -alg ~/tmp total 84 drwx maino staff Sep 1 16:14 . drwxr-xr-x 19 maino staff Sep 6 09: rw-r--r-- 1 maino staff Jan AA.readme drwxr-x maino staff May 22 14:08 examples -rw maino staff Jun 30 15:24 gendata.c -rw maino staff Jun 18 15:29 local.c drwxr-xr-x 2 maino staff May 22 14:08 man -rw-r maino staff Mar 12 23:19 new.tex -rw maino staff Mar 12 22:52 numer.tex -rw-r maino staff Jun 2 18:00 prova.tex -rw-r maino staff May 6 14:20 random.c -rw-r maino staff May 6 14:21 random.h drwx maino staff May 25 14:36 testprof 43 Sistemi Operativi - Introduzione 43
44
Sistemi Operativi - Introduzione
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 44 Sistemi Operativi - Introduzione 44
45
Sistemi Operativi - Introduzione
Visualizzazione di file testo (cont.) tail [-n] [+n] [-rf] file … Visualizza: -n: le ultime n righe +n: tutto il file tranne le prime n righe -r: visualizza le righe in ordine inverso -f: rilegge continuamente il file 45 Sistemi Operativi - Introduzione 45
46
Sistemi Operativi - Introduzione
Visualizzazione una pagina per volta pg file ... more file ... less file ... 46 Sistemi Operativi - Introduzione 46
47
Sistemi Operativi - Introduzione
Visualizzazione una pagina per 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 47 Sistemi Operativi - Introduzione 47
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.