Corso di Sistemi Operativi Programmazione di sistema e concorrente

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Sistemi Operativi Programmazione di sistema e concorrente"

Transcript

1 Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Corso di Sistemi Operativi Programmazione di sistema e concorrente Lezione I I sistemi Unix A.A. 2003/2004

2 Dati personali Fabiano Sarracco Home-page: Ricevimento: Giovedì 14:30-16:00 Via Salaria 113, stanza 253 Corso di Sistemi Operativi - Esercitazioni (Lez.1) 2

3 Scopo del corso Programmazione dei sistemi UNIX Applicazione tecniche di programmazione concorrente Corso di Sistemi Operativi - Esercitazioni (Lez.1) 3

4 Testi di riferimento A.Silberschatz, P.Galvin. Sistemi Operativi, Addison Wesley, F.Quaglia, C.Demetrescu. Programmazione in ambiente UNIX S.Goldt et al. The Linux Programmer s Guide (cap.6) S.J.Leffler et al. An advanced 4.3BSD Interprocess Communication Tutorial W. Richard Stevens, "UNIX Network Programming", Volume: 1, Prentice Hall PTR, 2nd edition Corso di Sistemi Operativi - Esercitazioni (Lez.1) 4

5 Argomenti del corso Panoramica sui sistemi UNIX (L1): Struttura del sistema; Principali comandi; Shell scripting; Programmazione C in UNIX (L2) UNIX System Calls: Gestione dei processi (L3); Gestione dei file (L4); Comunicazione e sincronizzazione fra processi; Corso di Sistemi Operativi - Esercitazioni (Lez.1) 5

6 Argomenti del corso Comunicazione e sincronizzazione Gestione di eventi asincroni (L5): Segnali Costrutti per la sincronizzazione (L6): Semafori Costrutti per la comunicazione (L6-7): PIPE e FIFO Code di messaggi Memoria condivisa Costrutti per la comunicazione in sistemi distribuiti (L8): Socket Corso di Sistemi Operativi - Esercitazioni (Lez.1) 6

7 Panoramica sui sistemi UNIX La struttura del sistema UNIX Comandi di UNIX

8 Storia dei sistemi UNIX Corso di Sistemi Operativi - Esercitazioni (Lez.1) 8

9 Brevi cenni storici 1969: nascita di UNIX ai Bell Laboratories. Scritto da Ken Thompson (e Dennis Ritchie) in Assembly per un PDP-7. Derivato da MULTICS. 1976: prima versione pubblica (versione 6) riscritta in C. 1983: UNIX System V e Berkeley BSD che fornisce memoria virtuale. 1991: Linus Torvalds sviluppa la prima versione di Linux. 1993: Versione 4.4BSD Corso di Sistemi Operativi - Esercitazioni (Lez.1) 9

10 Concetti fondamentali Sistema multitasking time-sharing; Supporto per processi multipli (scheduling con priorità) ed IPC; Sistema multi-utente; File system con directories strutturate ad albero; Dispositivi trattati come file (speciali) stesse system call per scrivere su un file, terminale o stampante; Interfaccia utente (shell) semplice e sostituibile; Corso di Sistemi Operativi - Esercitazioni (Lez.1) 10

11 Concetti fondamentali Sistema multitasking time-sharing: Nucleo centrale (kernel): fornisce le funzioni di base per gestire le risorse del sistema (scheduling dei processi, file system, gestione della memoria) Interfaccia programmatore basata su System Call. Il resto delle funzionalità è dato come programmi di sistema (utilities): usano le system calls fornite dal kernel interfaccia utente semplice e flessibile. Ogni processo ha un pid che lo identifica univocamente dagli altri. Corso di Sistemi Operativi - Esercitazioni (Lez.1) 11

12 Struttura a livelli Applicazioni Utilities Librerie astrazione Interfaccia con il kernel (System Calls) Signals Terminal handling I/O System CPU scheduling Terminali File System Swapping block I/O System Disk & Tape drivers Interfaccia kernel-hardware Devices Page replacement Demand paging Virtual memory Memoria Virtual machine SO HW Corso di Sistemi Operativi - Esercitazioni (Lez.1) 12

13 Concetti fondamentali Sistema multiutente: Attributi utente: login name, password, group name, userid, groupid, home directory assegnati dal SysAd (gli userid e groupid numerici rimasti per ragioni storiche); Ogni risorsa (file, dispositivi, etc.) ha associato un utente proprietario e dei privilegi di accesso che stabiliscono quali utenti possono farne uso: maschera di 3 gruppi (user, group, others) di 3 bit rwx. Utente speciale root o superuser (avente userid = 0). Corso di Sistemi Operativi - Esercitazioni (Lez.1) 13

14 File System Struttura ad albero contenente files e directory Fornsice una visione logica, non fisica Directories fondamentali: bin versione eseguibile dei programmi distribuiti in UNIX dev collezione di file speciali come terminali, stampanti, etc etc informazioni essenziali al funzionamento del sistema (/etc/passwd, /etc/groups) home home directories per gli utenti mnt directory per i mounted devices (cd, floppy) tmp file di lavoro temporanei usr file di sistema (applicazioni, utility, ) var file di sistema modificabili Corso di Sistemi Operativi - Esercitazioni (Lez.1) 14

15 File System Filename: sequenza di caratteri tranne / ed il carattere nullo (ASCII 0, NUL) Pathname: sequenza di filename separati da / assoluto: inizia per / ; relativo: non inizia per / ; Ogni processo ha una directory corrente di lavoro rispetto a cui vengono risolti i pathname relativi In ogni nuova directory creata vengono automaticamente creati due nomi di file:. si riferisce alla directory stessa.. si riferisce alla directory genitore Corso di Sistemi Operativi - Esercitazioni (Lez.1) 15

16 Avvio di UNIX 1. Il Kernel viene caricato da combinazione firmware/software. Questo crea un istanza di /etc/init 2. init legge il file /etc/inittab e crea un istanza di /etc/getty per ogni terminale disponibile 3. getty stampa il messaggio login: ; quando questo viene inserito crea un istanza di /bin/login Corso di Sistemi Operativi - Esercitazioni (Lez.1) 16

17 Avvio di UNIX 4. login stampa password:, e ne attende l immissione; verifica utente e password in /etc/passwd e lancia il programma iniziale associato a quell utente, tipicamente una shell 5. Inizia una sessione di lavoro 6. Quando un utente esce dalla shell (logout), il kernel segnala ad init di riavviare la sequenza getty/login per quel terminale. Corso di Sistemi Operativi - Esercitazioni (Lez.1) 17

18 Avvio di UNIX - Schema processo kernel pid=0 processo init pid=1 processo getty processo login processo shell processo getty processo login processo shell processo getty processo login processo shell Corso di Sistemi Operativi - Esercitazioni (Lez.1) 18

19 Shell La shell (conchiglia) racchiude il kernel, è lo strato con cui l utente entra in contatto quando vuole interagire con il sistema. E un interprete di comandi, che fornisce: un interfaccia verso un ricco insieme di utility un linguaggio di programmazione, con variabili, funzioni e costrutti per il controllo del flusso, per combinarle. Due tipi di funzionamento: interattivo: i comandi sono digitati da tatsiera dall utente non interattivo: i comandi sono contenuti in file di testo, detti script, utilizzabili in modo (quasi) indistingubile rispetto ai comandi ordinari (es. quelli in /bin/) Possibilità di personalizzare l ambiente di lavoro. Corso di Sistemi Operativi - Esercitazioni (Lez.1) 19

20 Caratteristiche della shell Due tipi di comandi: Comandi interni (o builtin): sono particolari comandi eseguiti direttamente dalla shell; Comandi esterni: sono nomi di programmi eseguibili che portano a termine il comando; Consente di inviare l input e l output di un comando verso file o verso altri comandi (reindirizzamento): comando > output comando < input comando altrocomando Corso di Sistemi Operativi - Esercitazioni (Lez.1) 20

21 Operazioni della shell 1. Legge l input: dalla tastiera del terminale utente da una stringa passata come argomento (opzione -c) da un file di script 2. Scompone l input in parole ed operatori. 3. Effettua l espansione degli alias. 4. Esegue i necessari reindirizzamenti, rimuovendo gli operatori ed i loro operandi dalla lista degli argomenti. 5. Esegue il comando. 6. Aspetta che l esecuzione termini e quindi ne rileva lo stato. Corso di Sistemi Operativi - Esercitazioni (Lez.1) 21

22 Esistono diverse shell: Bourne shell (sh) Korn shell (ksh) Tipi di shell C shell (csh ed il suo successore tcsh) Bourne Again SHell (bash) E la shell (quasi) standard in ambiente Linux. Compatibile con sh, ne migliora aspetti interattivi e programmativi. Presentano numerosi aspetti comuni. Differiscono per la sintassi, per alcuni comandi interni e per alcune caratteristiche e funzionalità più sostanziali. Corso di Sistemi Operativi - Esercitazioni (Lez.1) 22

23 Comandi interni fondamentali cd - cambia la directory corrente pwd - mostra la directory corrente export - imposta una variabile di ambiente kill - invia un segnale ad un processo kill -9 - uccide un processo logout - esce dalla shell Corso di Sistemi Operativi - Esercitazioni (Lez.1) 23

24 Utilities fondamentali ls - mostra i files contenuti nella directory corrente ps - mostra i processi in esecuzione cp - copia un file mv - sposta (o rinomina) un file rm - elimina un file mkdir - crea una directory rmdir - elimina una directory Corso di Sistemi Operativi - Esercitazioni (Lez.1) 24

25 Altri comandi awk ricerca ed elabora pattern in un file cal mostra il calendario del mese corrente cat mostra o unisce dei files chgrp modifica il gruppo associato ad un file chmod modifica i permessi di accesso ad un file cmp confronta due file chown modifica il proprietario di un file compress comprime file cut estrae colonne da un file date legge/imposta la data nel sistema diff mostra le differenze fra files df mostra la quantità di spazio disponibile su disco du mostra informazioni sullo spazio utilizzato su disco file classifica i file find cerca file fsck controlla e ripara il file system Corso di Sistemi Operativi - Esercitazioni (Lez.1) 25

26 Altri comandi grep ricerca pattern in un file groups mostra i gruppi a cui appartiene l utente gzip comprime i file head mostra le righe iniziali di un file ln crea un collegamento ad un file lp(r) stampa file lprm rimuove un lavoro dalla coda di stampa more mostra un file una schermata alla volta paste unisce le colonne in un file singolo sed editor di stream sort ordina e/o unisce file spell ricerca errori di ortografia in un file split divide un file in più parti tail mostra la ultime righe di un file tar aggiunge o estrae file da un file di archivio tr trasforma caratteri Corso di Sistemi Operativi - Esercitazioni (Lez.1) 26

27 umask imposta i permessi di creazione su di un file uniq rimuove duplicati wc conta le righe, le parole ed i caratteri di un file whatis elenca le pagine di manuale per un comando whereis mostra il percorso completo di un eseguibile which localizza un programma eseguibile utilizzando "PATH" Altri comandi Corso di Sistemi Operativi - Esercitazioni (Lez.1) 27

28 Metacaratteri MC Significato Esempio > Ridirezione dell output ls >temp Reindirizz. >> < Ridirezione dell output (append) Ridirezione dell input Concatenazione ls >>temp wc -l text ls more Wildcard *? [ ] { } Stringa di 0 o più caratteri, ad eccezione del punto Un singolo carattere ad eccezione del punto Un singolo carattere fra quelli elencati Le stringhe enumerate fra parentesi ls a*.c ls a?.c ls [a-za-z].txt ls *.{doc,txt} Corso di Sistemi Operativi - Esercitazioni (Lez.1) 28

29 Metacaratteri MC ; Significato Sequenza di comandi Esempio cd;pwd;ls && ( ) # \! Esecuzione condizionale. Esegue il comando se il precedente fallisce Esecuzione condizionale. Esegue il comando se il precedente termina con successo Raggruppamento di comandi Introduce un commento Fa in modo che la shell non interpreti in modo speciale il carattere che segue Ripetizione dei comandi memorizzati nella history list gcc prog.c echo errore gcc proc.a && a.out (cd;pwd;ls) > mydir.txt ls # lista di file ls file.\*!ls Corso di Sistemi Operativi - Esercitazioni (Lez.1) 29

30 Shell scripting Script: programma scritto ed eseguito nella sua forma sorgente senza compilazione (interpretato). Le istruzioni contenute in uno shell script vengono interpretate ed eseguite dalla shell; Il formato dello script dipende dal tipo di shell utilizzata; per distinguere il tipo di interprete, la prima riga dello script contiene il percorso della shell che deve interpretare lo script #!/bin/sh Corso di Sistemi Operativi - Esercitazioni (Lez.1) 30

31 Esecuzione di script Due modi per eseguire uno script: passare lo script come argomento all interprete; ad es. lo script bash di nome pippo può essere eseguito con /bin/sh pippo specificare il tipo di interprete all interno dello script, rendere eseguibile lo script con chmod +x pippo, chiamare lo script con il suo nome, come un qualsiasi altro comando Corso di Sistemi Operativi - Esercitazioni (Lez.1) 31

32 Modalità di esecuzione Shell Sottoshell foo cmd 1 cmd N Esecuzione 1: > foo Shell Sottoshell foo cmd 1 cmd N Esecuzione 2: > foo & Shell foo cmd 1 cmd N Esecuzione 3: > source foo Corso di Sistemi Operativi - Esercitazioni (Lez.1) 32

33 Variabili Un variabile è una coppia <nome-variabile, stringa di caratteri> Si accede al contenuto con $nome-variabile case sensitive : var1 diversa da Var1 Le variabili non vanno dichiarate Inizializzazione: var=stringa, tra virgolette (o apostrofi) se contiene caratteri speciali; Assegnazione: var=$altravar Corso di Sistemi Operativi - Esercitazioni (Lez.1) 33

34 Variabili d ambiente Le variabili sono locali alla shell o allo script in cui sono definite La variabili d ambiente sono variabili globali Insieme di variabili di ambiente speciali per la shell: PS1, HOME, PATH, PWD, UID Per esportare una variabile locale in una d ambiente si utilizza il comando export Corso di Sistemi Operativi - Esercitazioni (Lez.1) 34

35 Parametri E possibile passare dei parametri ad uno script Vengono memorizzati nelle variabili speciali $n (con n intero positivo) $0 contiene il nome dello script $1 contiene il primo parametro Se uno script ha più di 9 parametri si usa il comando shift per fare lo shift a sinistra dei parametri ed accedere ai successivi Ad esempio, con la riga di comando pippo par1 par2, i parametri assumeranno i seguenti valori: $0=pippo, $1=par1, $2=par2, Corso di Sistemi Operativi - Esercitazioni (Lez.1) 35

36 Variabili di stato automatiche $# $* $? $$ $! $- Numero di parametri forniti allo script sulla riga di comando Lista di tutti i parametri passati allo script exit status dell ultimo comando eseguito dalla shell PID della shell corrente (/tmp/tmp$$) PID dell ultimo comando eseguito in background Opzioni della shell corrente Corso di Sistemi Operativi - Esercitazioni (Lez.1) 36

37 Quoting Per visualizzare una stringa si possono usare indistintamente due comandi: echo "frase echo frase si usano le virgolette se la frase contiene apostrofi; si usa l apostrofo se la frase contiene virgolette Tutto ciò che è racchiuso da una coppia di accenti gravi (`) viene interpretato come un comando; in questo modo è possibile assegnare ad una variabile il risultato di un comando Corso di Sistemi Operativi - Esercitazioni (Lez.1) 37

38 Strutture condizionali if comando_test then comandi_vero else comandi_falso fi Esegue il comando_test Se il suo exit status è 0, esegue il blocco comandi_vero Altrimenti, esegue il blocco comandi_falso break per uscire direttamente dal costrutto Corso di Sistemi Operativi - Esercitazioni (Lez.1) 38

39 Comando test Se la condizione che si vuole specificare non è esprimibile con exit status, si può utilizzare il comando test espressione che restituisce un exit status pari a 0 se espressione è vera (1 altrimenti) Espressioni di controllo su file: -e f restituisce vero se f esiste -f f restituisce vero se f è un file ordinario -d f restituisce vero se f è una directory -r f restituisce vero se f è leggibile dall utente -w f restituisce vere se f è modificabile dall utente -x f restituisce vero se f è eseguibile dall utente Corso di Sistemi Operativi - Esercitazioni (Lez.1) 39

40 Comando test Espressioni su stringhe: -z s s ha lunghezza nulla -n s s ha lunghezza non nulla s1=s2 s1 è uguale a s2 s1!=s2 s1 è diversa da s2 Espressioni su valori numerici: n1 -eq n2 n1 è uguale a n2 n1 -ne n2 n1 è diverso da n2 n1 -lt n2 n1 è minore di n2 n1 -gt n2 n1 è maggiore di n2 n1 -le n2 n1 è minore o uguale a n2 n1 -ge n2 n1 è maggiore o uguale a n2 Operatori su espressioni: e1 -a e2 sono vere sia e1 che e2 e1 -o e2 è vera e1 o e2!e non è vera e Corso di Sistemi Operativi - Esercitazioni (Lez.1) 40

41 Strutture cicliche Per realizzare dei cicli all interno di shell script si utilizza principalmente il costrutto for var in lista do done Un altro costrutto per realizzare i cicli è while c_t do done in questo caso l argomento di while è un "test" analogo a quello del costrutto if Un costrutto analogo, ma con il test invertito è until c_t do done in entrambi i casi il test è sempre all inizio del ciclo Corso di Sistemi Operativi - Esercitazioni (Lez.1) 41

42 Esempio Progettare uno script che prende due parametri, una directory d ed un intero n. Lo script deve fornire il nome di tutti i file regolari contenuti in d ai quali avete accesso, aventi dimensione (in byte) maggiore o uguale ad n. Si controlli inoltre che i parametri passati sulla linea di comando siano due e che il primo sia una directory. Corso di Sistemi Operativi - Esercitazioni (Lez.1) 42

43 Esercizio: saferm Scrivere uno script per l eliminazione file che, invece di cancellare definitivamente i file, li sposti in una directory nascosta (.trash) nella home Opzioni disponibili (e relativi parametri da indicare): saferm -L mostra il contenuto del cestino saferm -P svuota il cestino saferm -R files ripristina i file indicati saferm files cestina i files indicati Corso di Sistemi Operativi - Esercitazioni (Lez.1) 43

44 Esercizio: saferm Le varie opzioni sono esclusive. Nel caso di due o più opzioni selezionate si generi un messaggio di errore con l usage dello script Se un nome di file da inserire nel cestino esiste già, rinominate il file esistente concatenandovi la sua data Per i più bravi: scrivere su un file la dimensione massima del cestino. Superata tale dimensione il sistema deve: dare una notifica all utente eliminare i file più vecchi (più grandi) fino a raggiungere la dimensione desirerata Corso di Sistemi Operativi - Esercitazioni (Lez.1) 44

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Page 1 Shell e programmazione La shell di UNIX definisce un vero e proprio linguaggio di programmazione, le cui caratteristiche principali

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep -

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep - Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep - 1 Ricordiamo che Le righe di /etc/passwd si presentano nella seguente forma: Username:Password:UserID:GroupID:Info:HomeDirectory:Shell

Dettagli

Codice Corso: UNX010. Durata: 3 giorni

Codice Corso: UNX010. Durata: 3 giorni Codice Corso: UNX010 Durata: 3 giorni Obiettivi: In questo corso si imparano i comandi, la terminologia, la struttura del file system, delle directory e dei processi, e gli aspetti di base dell'architettura

Dettagli

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env Tipi di Shell sh Bourne shell csh C shell ksh Korn shell bash Bourne Again (Bash) shell tcsh TENEX C shell zsh Z shell rc rc shell es es shell à csh e bash sono le più comuni. Per cambiare il tipo di shell

Dettagli

La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;

La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt; La Shell di Unix La parte del sistema operativo Unix dedita alla gestione dell interazione con l utente è la shell, ovvero, un interfaccia a carattere: l utente impartisce i comandi al sistema digitandoli

Dettagli

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Programmazione E` possibile memorizzare sequenze di comandi all'interno di le eseguibili: Ad esempio: #!bin/bash echo hello world!

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 3 - a.a. 2016/2017. Script shell

Lab. di Sistemi Operativi - Esercitazione n 3 - a.a. 2016/2017. Script shell Lab. di Sistemi Operativi - Esercitazione n 3 - a.a. 2016/2017 Script shell 1 Sommario Script shell Script shell con struttura di controllo ed iterativa: if then ciclo for ciclo While ciclo Until 2 - Script

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm

Dettagli

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il

Dettagli

Esercizi su permessi

Esercizi su permessi Esercizi su permessi usare umask per verificare il valore corrente creare file e directory verificare i permessi cambiare umask e ripetere l esercizio verificando come cambiano i permessi creare una cartella

Dettagli

- Controllo di flusso: for -

- Controllo di flusso: for - - Script shell - 1 - Controllo di flusso: for - 2 - Esempi d uso - Ciclo for for var in lista do comando/i che usano $var 3 Esercizio n 1 Scrivere uno script shell (shell program) di nome cercafilereg

Dettagli

Il sistema operativo LINUX La shell

Il sistema operativo LINUX La shell Il sistema operativo LINUX La shell Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Sistemi Operativi - Shell 1 La shell

Dettagli

Il sistema operativo LINUX Esercitazione 3

Il sistema operativo LINUX Esercitazione 3 Il sistema operativo LINUX Esercitazione 3 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica esercitazioni e temi d'esame 1

Dettagli

Esercitazione 1 la shell

Esercitazione 1 la shell Esercitazione 1 la shell Obiettivi Prendere confidenza con i comandi per la gestione del file system Utilizzare gli strumenti visti a lezione per creare tre semplici script bash File system 1/2 1. Verificare

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab Shell Lab-Shell 1 Scelta della shell La prima riga di un file comandi deve specificare quale shell si vuole utilizzare:

Dettagli

SHELL: File e Filesystem

SHELL: File e Filesystem SHELL: File e Filesystem Obiettivi : - Usare i comandi per muoversi all'interno del filesystem - Copiare, spostare, rinominare file e directory - Usare i link - Visualizzare il contenuto di un file - Conoscere

Dettagli

Controllo di flusso negli script: if-then-else

Controllo di flusso negli script: if-then-else Controllo di flusso negli script: if--else Il coman condizionale if condition_command true_commands else false_commands esegue il coman condition command e utilizza il suo exit status per decidere se eseguire

Dettagli

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi Ivan Scagnetto

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi Ivan Scagnetto Corso di Laboratorio di Sistemi Operativi A.A. 2006-2007 Fabio Buttussi Ivan Scagnetto Informazioni generali Orario: Martedì 15:00-16:45 e mercoledì 9:00-10:45 Docenti: Fabio Buttussi (prime 12 lezioni),

Dettagli

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il valore di

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017 Comandi Shell 1 Sommario Comandi shell: ls, cd, pwd echo touch cat head tail cut sort 2 Esercizio n 0 0a) Creare una cartella EsercitazioneLSO-1

Dettagli

Sommario. Prefazione... 11

Sommario. Prefazione... 11 Sommario Prefazione... 11 1. I linguaggi di programmazione... 17 1.1. Introduzione ai linguaggi di programmazione...17 1.2. Compilazione, interpretazione e bytecode...19 1.3. Indentazione del codice...21

Dettagli

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso Filtri e pipeline qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso standard output in uscita standard error in uscita stdin (fd 0)

Dettagli

Lezione 1: Introduzione alla Shell di Unix

Lezione 1: Introduzione alla Shell di Unix Lezione 1: Introduzione alla Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 5 Marzo 2013 Chi è UNIX? UNIX è il nome di una famiglia di sistemi operativi, con diverse implementazioni

Dettagli

Lezione 3: Programmazione della Shell di Unix

Lezione 3: Programmazione della Shell di Unix Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni

Dettagli

Esecuzione di script

Esecuzione di script Shell Script Gli shell script sono programmi interpretati dalla shell, scritti in un linguaggio i cui costrutti atomici sono i comandi Unix. I comandi possono essere combinati in sequenza o mediante i

Dettagli

Introduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire

Introduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire Introduzione a Unix/Bash Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire Sistema operativo e shell Il sistema operativo è un programma che Fa da intermediario fra le

Dettagli

Sistemi Operativi e informatica 1

Sistemi Operativi e informatica 1 1 Dip. Scienze dell Informatica Università degli Studi di Milano, Italia marchi@dsi.unimi.it a.a. 2011/12 1 c 2010-2012 M.Monga R.Paleari M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5

Dettagli

File System I parte. File System

File System I parte. File System File System I parte File System Dati e Programmi sono organizzati mediante una struttura di files e directories: file: collezione di dati directory: collezione di file o di directory Il file system possiede

Dettagli

Script di shell (bash)

Script di shell (bash) Script di shell (bash) Shell di Unix Esistoni diversi shell: Bourne Shell CShell Korn Shell Tc Shell etc. Interfaccia di alto livello tra utente e sistema operativo. init shell utente 1 shell utente 2

Dettagli

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi Corso di Laboratorio di Sistemi Operativi A.A. 2009-2010 - Fabio Buttussi Informazioni generali Orario: Mercoledì dalle 8:30 alle 10:15 Docente: Fabio Buttussi Home page del corso: http://users.dimi.uniud.it/~fabio.buttussi/labso0910/index.html

Dettagli

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7 Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D Il secondo comando: ls Opzioni: ls l, ls a, ls R ls --full-time Parametri:

Dettagli

a strange language, shaped as much by history as by design

a strange language, shaped as much by history as by design a strange language, shaped as much by history as by design Kernigham & Pike Percorso 5 Bash script 2 Il primo script Percorso 5 Bash script 3 Esecuzione Percorso 5 Bash script 4 Variabili # la variabile

Dettagli

File System Unix. Generalità

File System Unix. Generalità File System Unix Generalità File System: Caratteristiche Struttura gerarchica Files senza struttura (byte strems) Protezione da accessi non autorizzati Semplicità di struttura "On a UNIX system, everything

Dettagli

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi Corso di Laboratorio di Sistemi Operativi A.A. 2010-2011 - Fabio Buttussi Informazioni generali Orario: Martedì dalle 10:30 alle 12:15 e giovedì dalle 14.30 alle 16.15. Docente: Fabio Buttussi Home page

Dettagli

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale

Dettagli

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Daniele Migliorini Vanessa Gardellin & Sara Lioba Volpi

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Daniele Migliorini Vanessa Gardellin & Sara Lioba Volpi Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica Ing. Daniele Migliorini 2008 Vanessa Gardellin & Sara Lioba Volpi 1 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite

Dettagli

Lezione 5: Controllo del flusso e costrutti avanzati

Lezione 5: Controllo del flusso e costrutti avanzati Lezione 5: Controllo del flusso e costrutti avanzati Laboratorio di Elementi di Architettura e Sistemi Operativi 20 Marzo 2013 Parte 1: Il valore di uscita di un processo Il valore di uscita di un processo

Dettagli

Lezione 2: Comandi avanzati della Shell di Unix

Lezione 2: Comandi avanzati della Shell di Unix Lezione 2: Comandi avanzati della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 6 Marzo 2013 Parte 1: Metacaratteri, link e file speciali I metacaratteri La shell riconosce

Dettagli

Introduzione al sistema Linux

Introduzione al sistema Linux Introduzione al sistema Linux Stazioni di lavoro: PC con sistema operativo Linux Connessione al sistema Username : cognome1 Password : FirstLogin (cambiate la password con yppasswd appena possibile) Linux:

Dettagli

Shell di Linux e Comandi Utente

Shell di Linux e Comandi Utente Shell di Linux e Comandi Utente Sistemi Operativi Roberto Aringhieri DTI Crema - Università degli Studi di Milano Sistemi Operativi - Shell di Linux e Comandi Utente Roberto Aringhieri p.1/23 Outline Accesso

Dettagli

ORGANIZZAZIONE del FILE SYSTEM SISTEMA OPERATIVO UNIX FILE SYSTEM. FILE astrazione unificante del sistema operativo

ORGANIZZAZIONE del FILE SYSTEM SISTEMA OPERATIVO UNIX FILE SYSTEM. FILE astrazione unificante del sistema operativo FILE SYSTEM SISTEMA OPERATIVO UNIX - FILE COME SEQUENZA DI BYTE NON sono pensate organizzazioni logiche o accessi a record - FILE SYSTEM gerarchico ALBERO di sottodirettori - OMOGENEITÀ dispositivi e file

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Il sistema operativo UNIX/Linux. Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Il sistema operativo UNIX/Linux. Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Il sistema operativo UNIX/Linux Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Introduzione alle shell Strato più esterno del sistema operativo Fornisce l interfaccia

Dettagli

Introduzione a Linux Lezione 7 Programmare in Linux

Introduzione a Linux Lezione 7 Programmare in Linux Introduzione a Linux Lezione 7 Programmare in Linux Angelo Genovese Corso di Sistemi Operativi I/II Prof. V. Piuri Università degli Studi di Milano Dipartimento di Informatica A.A. 2018/2019 2018 2015

Dettagli

Linux e la shell Bash

Linux e la shell Bash DEI DEI-- Politecnico di dibari Linux e la shell Bash Esercitazione conclusiva G. Piscitelli - M. Ruta - A. Cinquepalmi Testi di riferimento: Linux e la shell Bash http://sisinflab.poliba.it/ruta/linux/linux

Dettagli

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX 1. DEFINIZIONI sistema operativo (SO): Software che gestisce le risorse del computer (filesystem e periferiche) filesystem: Insieme dei supporti di memorizzazione.

Dettagli

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Processi bash 1 Sommario I processi Comando ps (process status) Terminazione di un processo CTRL-C Kill Controllo dei processi Processi in background

Dettagli

Bash: history list (I)

Bash: history list (I) Bash: history list (I) L history list è un tool fornito dalla shell bash che consente di evitare all utente di digitare più volte gli stessi comandi: bash memorizza nell history list gli ultimi 500 comandi

Dettagli

Lab. di Sistemi Operativi

Lab. di Sistemi Operativi Lab. di Sistemi Operativi Esercitazioni proposte per la lezione del 9 marzo 2012 Utilizzando la shell di Linux e disponendosi in gruppi di due persone per ogni PC del laboratorio. 1. Elencare i file nella

Dettagli

Ulteriori comandi sui file

Ulteriori comandi sui file Ulteriori comandi sui file Confronto tra file: 1. > cmp file1 file2 restituisce il primo byte ed il numero di linea in cui file1 e file2 differiscono (se sono uguali, non viene stampato nulla a video).

Dettagli

BASH: Bourne Again Shell (3)

BASH: Bourne Again Shell (3) BASH: Bourne Again Shell (3) Personalizzare l ambiente bash fornisce 4 importanti strumenti 1. File speciali 2. Alias 3. Opzioni 4. Variabili.bash_profile,.bash_logout,.bashrc che sono letti da bash quando

Dettagli

Il sistema operativo LINUX Esercitazione 3. Esercizio 1. Esercizio 2. Esercizio 5 - Soluzione. Il sistema operativo LINUX Esercitazione 4.

Il sistema operativo LINUX Esercitazione 3. Esercizio 1. Esercizio 2. Esercizio 5 - Soluzione. Il sistema operativo LINUX Esercitazione 4. Il sistema operativo LINUX Esercitazione 3 Esercizio 1 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Mostrare una lista

Dettagli

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche michele.perilli@unifg.it mlperilli@gmail.com Sistema Operativo: funzionalità Gestire le risorse della macchina (CPU, memoria,

Dettagli

Introduzione a Unix e comandi principali. Sistema multitasking e multiuser. Concetto di Terminale. Login con username e password

Introduzione a Unix e comandi principali. Sistema multitasking e multiuser. Concetto di Terminale. Login con username e password Introduzione a Unix e comandi principali Sistema multitasking e multiuser Concetto di Terminale Login con username e password il processo di login riconosce la homedirectory e fa partire l interprete dei

Dettagli

Sistemi Operativi (Laboratorio)

Sistemi Operativi (Laboratorio) Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione Università degli Studi di Milano, Italia lorenzo@security.dico.unimi.it a.a. 2008/09 Bruschi Martignoni Monga

Dettagli

Introduzione...xiii. CAPITOLO 1- L ESSENZA DI UNIX... 1 Sezione A - Primi passi Introduzione ai sistemi operativi... 2

Introduzione...xiii. CAPITOLO 1- L ESSENZA DI UNIX... 1 Sezione A - Primi passi Introduzione ai sistemi operativi... 2 SOMMARIO Introduzione...xiii CAPITOLO 1- L ESSENZA DI UNIX... 1 Sezione A - Primi passi... 2 Introduzione ai sistemi operativi... 2 Sistemi operativi per PC... 3 Sistemi operativi per mainframe... 3 Sistemi

Dettagli

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di file Metodi di accesso Struttura delle

Dettagli

- comando sort: con chiavi di ordinamento -

- comando sort: con chiavi di ordinamento - - comando sort: con chiavi di ordinamento - 1 - sort: chiavi di ordinamento - Tramite l'opzione -k è possibile definire una chiave di ordinamento su una porzione della linea contenuta nel file Specificando

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:

Dettagli

Comandi principali di Linux (1)

Comandi principali di Linux (1) Laboratorio I Comandi principali di Linux (1) Sintassi: [comando] [opzioni] [argomenti] ls mostra il contenuto di una director l versione lunga a mostra anche i files nascosti che iniziano con. t presenta

Dettagli

Uso del terminale in ambiente UNIX

Uso del terminale in ambiente UNIX Uso del terminale in ambiente UNIX Non sempre è disponibile un interfaccia grafica sui computer su cui si lavora In questo caso l interazione con il calcolatore avviene attraverso l interfaccia a riga

Dettagli

Cos'è Linux. Un sistema operativo : un insieme di programmi necessari per il funzionamento del computer e per il funzionamento di altri programmi.

Cos'è Linux. Un sistema operativo : un insieme di programmi necessari per il funzionamento del computer e per il funzionamento di altri programmi. Cos'è Linux Un sistema operativo : un insieme di programmi necessari per il funzionamento del computer e per il funzionamento di altri programmi. Unix gratuito : una implementazione gratuita di Unix per

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 23 Martedì 17-01-2017 Il file system Il file system si basa sulle astrazioni

Dettagli

Linguistica Computazionale: esercitazioni

Linguistica Computazionale: esercitazioni Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR felice.dellorletta@ilc.cnr.it 24 settembre 2014 Linguistica Computazionale:

Dettagli

Il sistema operativo UNIX/Linux Le shell

Il sistema operativo UNIX/Linux Le shell Il sistema operativo UNIX/Linux Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Introduzione alle shell Strato più esterno del sistema operativo Fornisce l interfaccia

Dettagli

Avviso. man sh. Sistemi Operativi (Laboratorio) Lezione III: Shell 2. Un vero linguaggio di programmazione

Avviso. man sh. Sistemi Operativi (Laboratorio) Lezione III: Shell 2. Un vero linguaggio di programmazione Sistemi Operativi (Laboratorio) Lorenzo Martignoni Lezione III: Shell 2 Dipartimento di Informatica e Comunicazione Università degli Studi di Milano, Italia lorenzo@security.dico.unimi.it a.a. 2008/09

Dettagli

Keep it simple, stupid!

Keep it simple, stupid! Keep it simple, stupid! La filosofia alla base dei programmi Unix (solitamente non grafici) è semplice: ogni programma è specializzato per uno scopo ben preciso; funzionalità avanzate si ottengono dalla

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi Laboratorio di Sistemi Operativi LAB8 Uso della shell nella gestione dei file 2002/2003 Pagani Trentini Slide 1 Concetti base Filesystem, i nodes Comandi Agenda Spostarsi (cd, pwd, etc.) Leggere (ls, ll,

Dettagli

Il sistema operativo LINUX Script di Shell

Il sistema operativo LINUX Script di Shell Il sistema operativo LINUX Script di Shell Giorgio Di Natale Stefano Di Carlo Bartolomeo Montrucchio Politecnico di Torino Dip. Automatica e

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019 Comandi Shell 1 Sommario Comandi shell: ls, cd, pwd echo touch cat head tail cut sort 2 Esercizio n 0 0a) Creare una cartella EsercitazioneLSO-1

Dettagli

Shell scripting. Turing completi approccio procedurale non tipati (l'unico tipo disponibile è la stringa) interpretati

Shell scripting. Turing completi approccio procedurale non tipati (l'unico tipo disponibile è la stringa) interpretati Shell scripting Shell scripting la shell è uno strumento potente per l'esecuzione di comandi arbitrariamente complessi ciò nonostante, per automatizzare l'esecuzione di compiti lunghi e ripetitivi, ogni

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 2 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Alias Alias già visti: 1.. (directory corrente) 2... (directory madre)

Dettagli

Introduzione ai sistemi UNIX/Linux. Introduzione ai sistemi UNIX/Linux

Introduzione ai sistemi UNIX/Linux. Introduzione ai sistemi UNIX/Linux Introduzione ai sistemi UNIX/Linux M. Di Francesco, Vanessa Gardellin, Sara Volpi Ilaria Giannetti, Daniele Migliorini Dipartimento di Ingegneria dell Informazione Università di Pisa Informazioni generali

Dettagli

Introduzione all'uso del sistema operativo Ubuntu

Introduzione all'uso del sistema operativo Ubuntu Introduzione all'uso del sistema operativo Ubuntu Aprire un Terminal. Osservare il prompt dei comandi Una shell è pronta ad interpretare ed eseguire i vostri comandi consentendovi di accedere ai servizi

Dettagli

Il Sistema Operativo Linux

Il Sistema Operativo Linux Il Sistema Operativo Linux Sistema Linux storia Unix deriva da Unix open source software libero software open source GNU, GPL, LGPL storia Linux amministrazione struttura concetti base comandi shell Unix

Dettagli

Controllo del flusso. Laboratorio di Sistemi Operativi primavera if/else. if/else

Controllo del flusso. Laboratorio di Sistemi Operativi primavera if/else. if/else Laboratorio di Sistemi Operativi primavera 2009 Controllo del flusso Il controllo del flusso dà al programmatore la possibilità di scegliere che solo una parte del codice venga eseguita o che un altra

Dettagli

Laboratorio di Internet I Il sistema operativo Linux

Laboratorio di Internet I Il sistema operativo Linux Università di Roma Sapienza Sede di Latina 25 Febbraio 2014 Laboratorio di Internet I Il sistema operativo Linux Luca Chiaraviglio Ingegneria dell Informazione Outline Breve storia di Linux Concetti base

Dettagli

MasterIT - Scripting Es1. Sh, Csh, Grep, Sed, Awk

MasterIT - Scripting Es1. Sh, Csh, Grep, Sed, Awk MasterIT - Scripting Sh, Csh, Grep, Sed, Awk Sandro.Angius@lnf.infn.it 24/10/2002 Redirezione dell I/O Shell Differenze Bourne Shell e CSH EsempiBourne:» ps -ef > /tmp/listaprocessi» ps -ef >> /tmp/listaprocessi»

Dettagli

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Sommario Il concetto di file Metodi di accesso Struttura delle

Dettagli

File System e Interprete Comandi

File System e Interprete Comandi File System e Interprete Comandi Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 29 settembre 2016 Sommario

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Metodi di accesso Struttura delle directory Protezione 1 Concetto di File Insieme di informazioni correlate, registrate in memoria secondaria, con un nome.

Dettagli

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

Introduzione alla. Alessandra Giordani Lunedì 11 marzo Introduzione alla Shell di UNIX Alessandra Giordani agiordani@disi.unitn.it Lunedì 11 marzo 2013 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche, rete

Dettagli

Il sistema operativo UNIX/Linux. Soluzione di problemi mediante script Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Il sistema operativo UNIX/Linux. Soluzione di problemi mediante script Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Il sistema operativo UNIX/Linux Soluzione di problemi mediante script Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Esercizio Si scriva uno script in gra di calcolare i

Dettagli

Gli script di shell. U.Villano, E.Mancini. December 1, U.Villano, E.Mancini () Gli script di shell December 1, / 64

Gli script di shell. U.Villano, E.Mancini. December 1, U.Villano, E.Mancini () Gli script di shell December 1, / 64 Gli script di shell U.Villano, E.Mancini December 1, 2004 U.Villano, E.Mancini () Gli script di shell December 1, 2004 1 / 64 Che cos è uno script Uno script è un programma scritto nel linguaggio di shell,

Dettagli

Esempio di domande sul file system

Esempio di domande sul file system Esempio di domande sul file system Si supponga che un file system usi blocchi di 4 Kbyte, e che un puntatore ad un blocco occupi 4 byte. Se l INODE di un file utilizza 12 blocchi, un blocco indiretto ed

Dettagli

UNIX. UNIX: history. shell come interprete. Unix shell. The layers of a UNIX system.

UNIX. UNIX: history. shell come interprete. Unix shell. The layers of a UNIX system. UNIX: history 1965: Bell Labs + General Electric + MIT = MULTICS accesso simultaneo da parte di molti utenti; condivisione dati 1969: Thompson, Ritchie: 1 a versione Unix 1970: Thompson realizza linguaggio

Dettagli

Introduzione a Linux. Storia di UNIX

Introduzione a Linux. Storia di UNIX SISTEMI OPERATIVI Introduzione a Linux Storia di UNIX» 1969 - UNIX nasce come proge=o di ricerca presso i laboratori Bell della AT&T.» 1976 - UNIX viene distribuito gratuitamente si diffonde nelle Università

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi Laboratorio di Sistemi Operativi Corso di Laurea in Informatica A.A. 2018-2019 Alberto Finzi Introduzione Il Sistema Operativo (SO) è lo strato software che controlla le risorse Hardware e fornisce l ambiente

Dettagli

Lavorare in ambiente UNIX. Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks

Lavorare in ambiente UNIX. Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks Lavorare in ambiente UNIX Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks Prompt ' ' (spazio) è il separatore standard Comando interno/esterno file eseguibile

Dettagli

Laboratorio di Informatica di Base Progetto Tandem 2007/2008

Laboratorio di Informatica di Base Progetto Tandem 2007/2008 Laboratorio di Informatica di Base Progetto Tandem 2007/2008 Docente: Carlo Drioli Lucidi a cura di Andrea Colombari, Carlo Drioli e Barbara Oliboni (colombari@sci.univr.it drioli@sci.univr.it oliboni@sci.univr.it)

Dettagli

Sistemi Operativi. L interfaccia del file system

Sistemi Operativi. L interfaccia del file system Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di file Metodi di accesso Struttura delle

Dettagli

Senza Soluzioni. Può un altro utente non appartenente al gruppo di mgiorgio, eseguire gli stessi comandi?

Senza Soluzioni. Può un altro utente non appartenente al gruppo di mgiorgio, eseguire gli stessi comandi? Senza Soluzioni Scrivere i due seguenti semplici script in bash shell: a. (1.5pt.)uno script che cancella un file dando il suo inode. Lo script e' attivato cosi': irm b. (1.5pt.)uno script che

Dettagli

Manipolazioni elementari di flussi di testo strutturati

Manipolazioni elementari di flussi di testo strutturati Manipolazioni elementari di flussi di testo strutturati L output di molti comandi è costituito da flussi di testo strutturati: ogni riga rappresenta una parte del risultato ed è divisa in campi (fields)

Dettagli

Settima esercitazione. Shell scripting

Settima esercitazione. Shell scripting Settima esercitazione Shell scripting 1 Agenda Esempio 1 Creazione di un semplice script bash per l'esplorazione del le system Esempio 2 Script bash con ricorsione: esempio guidato Esercizio 3 DA SVOLGERE

Dettagli

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica Sistemi Operativi Corso di Laurea Triennale in Ingegneria Informatica Lezione di laboratorio 1 Unix - storia e filosofia Debian GNU/Linux Primi passi su Linux Daniel Cesarini daniel.cesarini@for.unipi.it

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016 Comandi Shell 1 Ciclo Esecuzione Shell Comandi Comandi shell: mkdir touch echo cp echo cat cut head tail sort 3 Esercizio n 0 0a) Creare una

Dettagli