Andrea Passerini [email protected]/teaching/2010-2011/...architetture hardware e...

52
Sistemi operativi Andrea Passerini [email protected] Informatica sistemi operativi

Transcript of Andrea Passerini [email protected]/teaching/2010-2011/...architetture hardware e...

Page 1: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Sistemi operativi

Andrea [email protected]

Informatica

sistemi operativi

Page 2: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Tipi di sistema operativo

Sistema UNIXIl sistema UNIX e stato sviluppato da ricercatori deilaboratori AT&T e Bell Labs negli anni sessanta, ed e statoun passo avanti significativo nel panorama dei sistemioperativiE’ un sistema multi-utente, multi-tasking, portabile su variearchitetture hardware e orientato alla programmazioneIl sistema si e diffuso notevolmente in ambito accademico,poiche veniva distribuito gratuitamente da AT&T ed eraparticolarmente adatto a supportare applicazioniscientifiche.E’ attualmente alla base di numerosi sistemi operativimoderni, quali Mac OS X e GNU/Linux

sistemi operativi

Page 3: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Tipi di sistema operativo

Sistemi Microsoft WindowsI sistemi Microsoft Windows hanno avuto larghissimadiffusione tra gli utenti domestici e nelle aziendeCome tutti i moderni sistemi operativi, si basano suun’interfaccia grafica a finestre e gestiscono il multitaskingMiscrosoft ha rilasciato una serie di sistemi operativi apartire dalla meta degli anni ’90: Windows 95, 98, 2000,XP, Vista, 7Inizialmente concepiti per l’uso domestico privo diconnessione Internet, tali sistemi sono sempre statifortemente soggetti a problemi di sicurezza, anche in virtudella loro diffusione che incentivava lo sviluppo di virusad-hoc.

sistemi operativi

Page 4: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Tipi di sistema operativo

Sistemi MacI sistemi Mac sono sviluppati dalla Apple specificatamenteper computer MacintoshTali sistemi sono caratterizzati da una forte integrazione trahardware e software, elevate prestazioni come sistemiutente e un’attenzione particolare alla graficaLe versioni attuali del sistema operativo sono varianti delsistema Mac OS X (leggi dieci)Il kernel del sistema e derivato dal sistema operativo UNIX

sistemi operativi

Page 5: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Tipi di sistema operativo

Sistema GNU/LinuxIl sistema GNU/Linux e nato dal connubio del kernel linux,sviluppato da Linus Torvald a partire dal 1991, e delprogetto GNU, lanciato da Richard Stallman nel 1983 persviluppare un sistema operativo liberoIl sistema e libero nel senso che la sua licenza,denominata GNU General Public License (GNU GPL) econcepita appositamente per proteggere la liberta diutilizzo e modifica del sistemaIl sistema viene fornito compresivo del codice sorgente (adifferenza dei sistemi proprietari, quali Microsoft Windows,che forniscono solo gli eseguibili, ossia il codicemacchina), ed e permesso modificare il codice eredistribuirlo liberamente, con il vincolo che la versionemodificata mantenga la licenza GNU GPL

sistemi operativi

Page 6: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Tipi di sistema operativo

Sistema GNU/LinuxLa politica del software libero ha permesso la nascita diuna grande comunita di sviluppatori, che lavorano perfornire funzionalita , applicativi e modifiche al sistema permigliorarne l’utilizzoGNU/Linux e derivato dal sistema UNIX, e ne condivide lecaratteristiche di multiutenza, programmabilita , etc.Rispetto a UNIX, i moderni sistemi GNU/Linux hannonotevolmente migliorato l’interfaccia grafica e la semplicitadi utilizzo, permettendone la diffusione anche tra i nonesperti.Esistono svariate distribuzioni GNU/Linux, che secondividono kernel e (tendenzialmente) filosofia di base, sidifferenziano per gli applicativi forniti, le interfacciegrafiche, etc.

sistemi operativi

Page 7: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Tipi di sistema operativo

Sistema GNU/Linux: UbuntuUbuntu e una recente distribuzione GNU/Linux che haacquistato notevole popolarita per la facilita di utilizzo ed ilsupporto hardwareIl supporto hardware in particolare implica la notevolecapacita di riconoscere e configurare le componentihardware del sistema, e renderlo quindi totalmente fruibileIl supporto hardware e sempre stato un problemacomplesso per i sistemi liberi, in quanto i produttori dihardware tendono a fornire driver per i sistemi proprietari(in particolar modo Microsoft Windows) ma non per quelliliberi, e spesso non rilasciano le specifiche tecnichesufficienti per permettere alla comunita di sviluppatori diprogrammare i driver adatti

sistemi operativi

Page 8: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Ubuntu

InstallazioneUbuntu e liberamente scaricabile dai siti di supporto alladistribuzione. Il sito italiano e :http://www.ubuntu-it.org/

Ubuntu e disponibile in versione desktop, adatta all’usodomestico su portatile o fisso, o server, per l’installazionesu macchine che forniscono serviziL’installazione consiste nello scaricare un file che eun’immagine ISO di un CD di installazione, e nelmasterizzare un CD a partire da tale immagine (istruzionisul sito)Una volta creato il CD di installazione, si inserisce nellettore CD e si riavvia la macchina, e l’installazione guidataparte automaticamente

sistemi operativi

Page 9: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Ubuntu

Autenticazione utenteCome tutti i sistemi GNU/Linux (e UNIX), Ubuntu e unsistema multi-utente.In fase di installazione, viene creato un utente checorrispondera all’utilizzatore standard del sistema.L’utente e caratterizzato da un nome e da una password,che vanno forniti all’avvio per poter accedere al sistema

sistemi operativi

Page 10: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Ubuntu

Autenticazione amministratoreOltre alla modalita utente, esiste una modalitaamministratore che ha i permessi necessari ad eseguireoperazioni particolari quali aggiornare il sistema, installaresoftware , etc.Al momento di eseguire operazioni di amministrazione, ilsistema richiede la password di amministratore. Di default,Ubuntu garantisce all’utente standard la possibilita di agireda amministratore, quindi la password da fornire e lapassword utente stessa.La cosa non sara vera sui sistemi configurati per lamultiutenza (quali i computer di laboratorio), in cuil’amministratore ha login e password propri

sistemi operativi

Page 11: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Ubuntu

Gestore di finestreL’interfaccia con cui Ubuntu si presenta all’utente e unainterfaccia grafica a finestre e menu a tendina, comesuccede per i sistemi Microsoft Windows e Mac OS XTramite il menu applicazioni, e possibile visionare leapplicazioni disponibili e lanciarleIl menu risorse permette di esplorare il contenuto del filesystem tramite un classico gestore graficoIl menu sistema fornisce una serie di funzionalita perpersonalizzare il sistema, configurare nuovo hardware,installare aggiornamenti, etc

sistemi operativi

Page 12: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Ubuntu

sistemi operativi

Page 13: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Ubuntu

File systemIl programma grafico di esplorazione del file system,eseguibile dal menu risorse, permette di navigare nel filesystem ed aprire fileIl sistema fornisce una rappresentazione ad icone dei filecon una preview del loro contenutoInoltre, associa di default ad ogni file un programma peraprirlo, che dipende dal tipo del file stesso (file di testo,immagine, etc)Cliccando due volte con il tasto sinistro sull’icona di un file,si apre con l’applicazione di defaultCliccando con il tasto destro sull’icona, si possonorecuperare informazioni sul file o aprirlo con unprogramma diverso da quello di default.

sistemi operativi

Page 14: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

UbuntuAggiornamenti

Ubuntu si installa con tutta una serie di applicativi di utilita ,ben piu numerosi di una tipica installazione MicrosoftWindows (in quanto si tratta di software libero)Spesso e pero necessario installare applicativi specifici,che non sono disponibili in una installazione standardUbuntu fornisce un sistema di aggiornamento edinstallazione di software estremamente semplice edefficace tramite il Synaptic Package Manager(raggiungibile da System → Administration →Synaptic Package Manager)Tale sistema permette di cercare in un grande archivioonline di applicazioni disponibili ma non installate, in cui sitrova in genere la maggior parte del software necessarioE’ sempre possibile scaricare da Internet ed installaresoftware non disponibile tramite tale interfaccia

sistemi operativi

Page 15: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Applicazioni

Suite OfficeUbuntu fornisce una versione libera della suite Office,denominata OpenOffice, tendenzialmente compatibile coni formati Microsoft OfficeTale versione fornisce:

un software per la realizzazione di testi formattati tipo Wordun software per la realizzazione di presentazioni stilePowerpointun foglio di calcolo stile Excelun software per la realizzazione di semplici basi di dati stileAccess

sistemi operativi

Page 16: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Applicazioni

Editor di testiWord serve a realizzare brevi documenti con sempliciformattazioni quali titolo sottolineatura, etc (per documentipiu complessi quali articoli, libri, etc, altri strumenti qualilatex sono piu adatti), e salva tali file in un formato proprionon puramente testualeE’ spesso necessario scrivere file di testo puro che nonsiano formattati come documento, ad esempio nellaprogrammazione (che vedremo approfonditamente)A tale scopo si devono usare editor di testi che nonincludano informazione di formattazione, e salvino in testopuro.emacs e un utile esempio di editor di testi, che ha ilvantaggio di fornire automaticamente funzionalita chefacilitano la programmazione (vedremo)

sistemi operativi

Page 17: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Applicazioni

Applicazioni InternetFirefox web browser per la navigazione su InternetMozilla thunderbird o Evolution per la gestione della postaelettronicaSkype per la comunicazione multimediale a distanzae molti altri applicativi

sistemi operativi

Page 18: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Applicazioni

Interprete di comandiE’ possibile interagire con il sistema tramite un interprete dicomandi a linea aprendo un’applicazione terminale(Applicazioni → Accessori → Terminale)L’interprete a linea di comandi, rispetto a quello grafico, emeno accattivante, ma tipicamente piu rapido e versatileInfatti l’interprete a linea di comandi si basa sull’interatastiera per scrivere comandi (e permette quindi di usaretutte e dieci le dita), rispetto all’interfaccia grafica che sibasa sul mouse (e tendenzialmente sull’utilizzo dicombinazioni di tasti cui vengono associate certeoperazioni)E’ sempre possibile lanciare un programma disponibiletramite l’interfaccia grafica (e.g. office) scrivendo il nomedell’eseguibile sulla linea di comando (e premendo Invio)

sistemi operativi

Page 19: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

sistemi operativi

Page 20: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Applicazioni

Interprete di comandiL’interprete dei comandi agisce in maniera interattiva,eseguendo immediatamente un comando che l’utentescrive al prompt (una volta premuto Invio)Ubuntu, come tutti i sistemi derivati da UNIX, fornisce unavasta gamma di comandi di base disponibili da linea dicomando, che permettono di esplorare il file system,modificare files, recuperare informazione selezionata, efare un gran numero di operazioniOgni comando ha un set di opzioni per decidere i dettaglidi cosa deve fare, ed un certo numero (anche nessuno) diargomenti su cui opera

sistemi operativi

Page 21: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Applicazioni

Interprete di comandiUn singolo comando viene tipicamente lanciato con questasintassi

<nomecomando> [<opzioni>] [<argom1>] ... [<argomN>]

[<opzioni>]sono le opzioni con cui eseguire il comando(se diverse dal default), tipicamente una lettera peropzione, preceduta da - (e.g. ls -l)Quando si specificano piu opzioni, e possibile specificareuna singola - seguita dalla stringa di opzioni richieste (e.g.ls -lh)[<argom1>]...[<argomN>]sono gli argomenti delcomando (se presenti), che possono essere nomi di file,espressioni regolari, etc. (e.g. cd Figures)

sistemi operativi

Page 22: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: lsls (LiSt) elenca il contenuto di una directoryAll’avvio di un terminale, la directory corrente viene fissataalla home dell’utente, al di sotto della quale si trovano tutti ifile dell’utente stesso, organizzati in directories.[andrea@praha ˜]$ lsacc_vs_roc.pdf octave-coreallthingstodo.doc PersonalAUC_comparison.pdf ProgramsBackup public_htmlbin roc_comparison.pdfCalendario_2008-09.pdf SCHEDULEchimera singer_pegasos.pdfCOMMON SRCdata TIPSData tmpDESIDERATA tmp1Desktop TODO

sistemi operativi

Page 23: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: lsL’opzione -l permette di stampare informazioni aggiuntivesu ciascun file, inclusi:

operazioni permesse, per proprietario, gruppo ed altriproprietario e gruppodimensionedata dell’ultima modifica

[andrea@praha 08_sistemi_operativi]$ ls -ltotal 1420-rw-r--r-- 1 andrea andrea 22645 2009-01-14 11:09 content.tex-rw------- 1 andrea andrea 5427 2009-01-13 17:43 definitions.texdrwxr-sr-x 2 andrea andrea 4096 2009-01-14 11:02 Figures-rw-r--r-- 1 andrea andrea 1251873 2009-01-14 11:03 talk.pdf

sistemi operativi

Page 24: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: lsL’opzione -h permette di stampare in maniera piucomprensibile l’informazione sulla dimensione dei file(implica l’ozione -l)Le opzioni possono essere combinate arbitrariamente (e.g.-lh)

[andrea@praha 08_sistemi_operativi]$ ls -lhtotal 1.4M-rw-r--r-- 1 andrea andrea 23K 2009-01-14 11:12 content.tex-rw------- 1 andrea andrea 5.3K 2009-01-13 17:43 definitions.texdrwxr-sr-x 2 andrea andrea 4.0K 2009-01-14 11:02 Figures-rw-r--r-- 1 andrea andrea 1.2M 2009-01-14 11:12 talk.pdf

sistemi operativi

Page 25: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: lsDi default, i file nella directory vengono stampati da ls inordine lessicograficoE’ possibile specificare delle opzioni che modificano taleordine. Ad esempio -t ordina i file per data di modifica(dal piu recente al piu vecchio)

[andrea@praha 08_sistemi_operativi]$ ls -lthtotal 1.4M-rw-r--r-- 1 andrea andrea 1.3M 2009-01-14 11:17 talk.pdf-rw-r--r-- 1 andrea andrea 25K 2009-01-14 11:17 content.texdrwxr-sr-x 2 andrea andrea 4.0K 2009-01-14 11:02 Figures-rw------- 1 andrea andrea 5.3K 2009-01-13 17:43 definitions.tex

sistemi operativi

Page 26: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: ls

Oltre alle opzioni, ls puo anche prendere una lista diargomenti in ingressoIn tal caso, lista il contenuto delle directory e file presicome argomento, invece che quello della directory corrente

[andrea@praha 08_sistemi_operativi]$ ls -lh Figures/ definitions.tex-rw------- 1 andrea andrea 5.3K 2009-01-13 17:43 definitions.tex

Figures/:total 2.4M-rw-r--r-- 1 andrea andrea 1.1M 2009-01-13 19:17 desktop.pdf-rw-r--r-- 1 andrea andrea 866K 2009-01-13 19:17 desktop.png-rw-r--r-- 1 andrea andrea 231K 2009-01-14 11:22 man.eps-rw-r--r-- 1 andrea andrea 49K 2009-01-14 11:22 man.pdf-rw-r--r-- 1 andrea andrea 92K 2009-01-14 11:02 terminale.eps-rw-r--r-- 1 andrea andrea 15K 2009-01-14 11:02 terminale.pdf

sistemi operativi

Page 27: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Aiuto sui comandi: manIl comando man (MANual) seguito dal nome di uncomando stampa informazione relativa al comando stessoL’informazione contiene la spiegazione di cosa il comandofa, come va lanciato, la descrizione delle opzioni disponibilied in genere esempi di utilizzoman e molto utile per esplorare il funzionamento dei varicomandi di shell, e trovare opzioni nuove o che non siricordanoE.g. eseguendo man ls si ottiene una pagina di manualerelativa ad ls

Tipicamente l’output di man e piu lungo dello spaziodisponibile nel terminale. Si scorre l’output premendo labarra, se ne esce premendo q (quit)

sistemi operativi

Page 28: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

man ls

sistemi operativi

Page 29: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: cdPer spostarsi all’interno della struttura a directory del filesystem, si usa il comando cd (Change Directory)cd ha come unico argomento la directory in cui si desideraspostarsicome per tutti i comandi che prendono come argomentifile, a cd si deve specificare il percorso del file

[andrea@praha 08_sistemi_operativi]$ cd /home/andrea/Data/[andrea@praha Data]$ lsFasta Labels README Results[andrea@praha Data]$ cd Labels/[andrea@praha Labels]$

sistemi operativi

Page 30: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Percorsi di fileQualunque file, regolare o directory che sia, vieneidentificato all’interno del file system tramite un percorso didirectory, dalla radice al file stessoNei sistemi UNIX, la radice del file system e indicata con/ ed i separatori tra directory si indicano anch’essi con /

Esistono due modi per specificare il percorso di un file:

percorso assoluto e il percorso complessivo del file, dallaradice fino alla sua posizione nel file system(e.g. /home/andrea/Data/)

percorso relativo e il percorso del file a partire dalladirectory corrente (e.g. Labels/label.txt)

sistemi operativi

Page 31: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandiPercorsi di file

Esistono alcuni caratteri speciali che hanno un significatoparticolare se usati nel percorso di un fileIl carattere tilde / indica la home dell’utente, e puo essereusato ogni qualvolta si voglia riferirsi ad essa (e.g. nel miocomputer / corrisponde a /home/andrea)

[andrea@praha Labels]$ cd ˜[andrea@praha ˜]$

La sequenza .. indica la directory subito sopra a quellacorrente nella gerarchia. Tale sequenza puo essere usatapiu di una volta per risalire la gerarchia in un solo passo

[andrea@praha Labels]$ cd ../[andrea@praha Data]$ lsFasta Labels README Results[andrea@praha Data]$ cd ../../[andrea@praha home]$ lsandrea lost+found pankow

sistemi operativi

Page 32: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esplorazione del file system: cdSe specificato senza argomenti, cd sposta nella homedell’utenteL’argomento speciale - indica di spostarsi nella directory incui si era prima di aver eseguito l’ultimo cd (e stampa ilnome di tale directory in output)

[andrea@praha Labels]$ cd[andrea@praha ˜]$ cd -/home/andrea/Data/Labels[andrea@praha Labels]$

sistemi operativi

Page 33: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: cpcp (CoPy) serve a copiare file da un posto all’altrocp prende come argomenti: un file da copiare, ed un file ouna directory di destinazioneCome sempre quando si specifica un nome di file, si puousare un percorso assoluto, o relativo alla directorycorrenteSe la destinazione e un file, cp crea un file con quel nomee vi copia il contenuto del file dato come primo argomentoSe la destinazione e una directory, cp crea in tale directoryun file con lo stesso nome del file da copiare, e vi copia ilcontenuto

sistemi operativi

Page 34: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: cp[andrea@praha Data]$ lsFasta Labels README Results[andrea@praha Data]$ cp README README2[andrea@praha Data]$ lsFasta Labels README README2 Results[andrea@praha Data]$ cp README ˜[andrea@praha Data]$ ls ˜allthingstodo.doc Data Lion.pdfAUC_comparison.pdf DESIDERATA MailBackup Desktop octave-corebin fernando06-CGM.pdf PersonalCalendario_2008-09.pdf JavaNNS.properties ProgramsCHANGES_DISTRO kitchin.JPG public_htmlchimera Kitchovitch_new.pdf README

sistemi operativi

Page 35: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: cpcp permette di copiare piu files con un solo comandocp si aspetta infatti di avere un numero variabile diargomenti, minimo duel’ultimo argomento sara sempre la destinazione in cuicopiaretutti gli altri argomenti precedenti sono i file da copiareIl risultato e che ciascun file viene copiato nelladestinazioneSe piu di un file viene copiato, la destinazione dovraessere un nome di directory (in cui verranno copiati i file)

sistemi operativi

Page 36: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: cp[andrea@praha Data]$ lsFasta Labels README README2 Results tmp TODO[andrea@praha Data]$ cp README README2 TODO tmp[andrea@praha Data]$ ls tmp/README README2 TODO

Se la directory di destinazione non esiste, si genera unerroreSe la destinazione e un file normale e non una directory, sigenera un errore

sistemi operativi

Page 37: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: cpDi base, cp copia files e non directories.L’opzione -r (ricorsivo) permette di copiare ricorsivamenteil contenuto di un’intera directoryIn tal caso, la destinazione deve essere un nome didirectory, che verra creata ed in cui verranno copiatiricorsivamente tutte le directory ed i file contenuti nellasorgente

[andrea@praha Data]$ lsFasta Labels README Results[andrea@praha Data]$ ls ResultsAbInitio computeAverage.pl computeResults.sh[andrea@praha Data]$ cp -r Results Results2[andrea@praha Data]$ lsFasta Labels README Results Results2[andrea@praha Data]$ ls Results2/AbInitio computeAverage.pl computeResults.sh

sistemi operativi

Page 38: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: mvIl comando mv (MoVe) serve a spostare file all’interno delsistema, o a rinominarlimv prende come argomenti uno o piu file o directory, ed unfile o directory di destinazione, come cp

con un argomento di ingresso (file o directory) ed unargomento di destinazione che non esiste, mv rinominal’ingresso con il nome della destinazione

[andrea@praha Data]$ lsFasta Labels README Results tmp TODO[andrea@praha Data]$ mv README README2[andrea@praha Data]$ lsFasta Labels README2 Results tmp TODO[andrea@praha Data]$ mv tmp/ tmp2[andrea@praha Data]$ lsFasta Labels README2 Results tmp2 TODO

sistemi operativi

Page 39: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: mv

con un file in ingresso ed un file destinazione gia esistente,mv sposta l’ingresso nell’uscita, sovrascrivendo il suocontenuto

[andrea@praha Data]$ ls -ltotal 24drwxr-xr-x 2 andrea andrea 4096 2008-12-22 13:06 Fastadrwxr-xr-x 2 andrea andrea 4096 2008-12-22 13:03 Labels-rw-r--r-- 1 andrea andrea 1159 2008-12-22 13:58 README2drwxr-xr-x 4 andrea andrea 4096 2008-12-22 13:57 Resultsdrwxr-xr-x 3 andrea andrea 4096 2009-01-14 13:29 tmp2-rw-r--r-- 1 andrea andrea 3 2009-01-14 12:30 TODO[andrea@praha Data]$ mv README2 TODO[andrea@praha Data]$ ls -ltotal 20drwxr-xr-x 2 andrea andrea 4096 2008-12-22 13:06 Fastadrwxr-xr-x 2 andrea andrea 4096 2008-12-22 13:03 Labelsdrwxr-xr-x 4 andrea andrea 4096 2008-12-22 13:57 Resultsdrwxr-xr-x 3 andrea andrea 4096 2009-01-14 13:29 tmp2-rw-r--r-- 1 andrea andrea 1159 2008-12-22 13:58 TODO

sistemi operativi

Page 40: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: mvcon uno o piu file o directory in ingresso ed unadestinazione che e una directory, mv sposta gli ingressinella destinazioneSe la directory di destinazione non esiste, si genera unerroreSe la destinazione e un file normale e non una directory, sigenera un errore

[andrea@praha Data]$ lsFasta Labels README Results tmp2 TODO[andrea@praha Data]$ mv README Labels/ tmp2/[andrea@praha Data]$ ls tmp2/Labels README[andrea@praha Data]$ lsFasta Results tmp2 TODO

sistemi operativi

Page 41: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: rmil comando rm (ReMove) serve ad eliminare filecome molti comandi visti finora, prende come argomentiuno o piu file da cancellarea differenza della cancellazione di file fatta tramitel’interfaccia grafica, rm NON sposta i file cancellati nelcestino, ma li elimina in maniera definitivaper questa ragione, rm tipicamente viene rimappato dalsistema (con un alias) in rm -i, in cui l’opzione -i chiedeuna conferma per ogni file da cancellare

[andrea@praha tmp2]$ lsLabels README[andrea@praha tmp2]$ rm READMErm: remove regular file ‘README’? y[andrea@praha tmp2]$ lsLabels

sistemi operativi

Page 42: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: rm

se si e sicuri dei file che si vogliono cancellare, l’opzione-f elimina le richieste di conferma, ed inoltre non producemessaggi di errore se alcuni dei file specificati nonesistono

[andrea@praha tmp2]$ lsLabels README TODO[andrea@praha tmp2]$ rm -f TODO README nulla[andrea@praha tmp2]$ lsLabels

sistemi operativi

Page 43: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: rmrm cancella file, non directory. La cancellazione didirectory e critica in quanto si cancellano intere porzioni difile system, e deve essere specificata tramite l’opzione -r(ricorsivo).

[andrea@praha tmp2]$ rm -f Labels/rm: cannot remove ‘Labels/’: Is a directory[andrea@praha tmp2]$ rm -rf Labels/[andrea@praha tmp2]$ ls[andrea@praha tmp2]$

sistemi operativi

Page 44: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Modifica del file system: mkdiril comando mkdir (MaKeDIRectory) crea una directorycon il nome specificato

[andrea@praha tmp2]$ mkdir tmp3[andrea@praha tmp2]$ lstmp3

se le directory nel percorso fornito come argomento nonesistono, il comando restituisce un errore. Per creare unintero percorso di directory (se necessario), si usal’opzione -p (parents)

[andrea@praha tmp2]$ mkdir tmp/tmp/tmpmkdir: cannot create directory ‘tmp/tmp/tmp’:No such file or directory

[andrea@praha tmp2]$ mkdir -p tmp/tmp/tmp[andrea@praha tmp2]$ ls tmp/tmp/tmp

sistemi operativi

Page 45: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Lettura di file: catil comando cat (conCATenate) permette di leggere unoo piu filesprende come argomento una lista di nomi di file, erestituisce in uscita la concatenazione dei loro contenuti

[andrea@praha Data]$ cat READMELabels contains labeling of experimental data[andrea@praha Data]$ cat TODO- remember to clean un directory tmp after use

- DO NOT overwrite Labels[andrea@praha Data]$ cat README TODOLabels contains labeling of experimental data- remember to clean un directory tmp after use

- DO NOT overwrite Labels[andrea@praha Data]$

sistemi operativi

Page 46: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandiWildcards

L’interprete di comandi fornisce un modo molto semplice epotente per eseguire un comando contemporaneamentesu piu filesTale operazione e possibile per ogni comando che prendecome argomenti liste di files e directory (ad esempio cp)L’operazione si basa sull’uso di caratteri speciali, dettiwildcards, per specificare in maniera compatta un insiemedi file e directoryL’interprete di comandi interpretera tali caratteri speciali, eli sostituira con l’elenco di nomi di file che sono con essicompatibili (espansione), per poi lanciare il comando contale elenco come argomentiIn pratica, gli wildcards permettono di specificare sempliciespressioni regolari, e tutti i file che le soddisfano verrannoselezionati

sistemi operativi

Page 47: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Wildcards

* corrisponde ad una qualsiasi sequenza di caratteri(anche vuota)

? corrisponde ad un singolo carattere[abcde] corrisponde ad uno qualsiasi dei caratteri

specificati (abcde)[0-9] corrisponde ad uno qualsiasi dei caratteri nel

range specificato (ossia 0123456789)[!0123] corrisponde ad un qualsiasi carattere che non sia

nella lista (ossia non 0123)[!a-e] corrisponde ad un qualsiasi carattere che non sia

nel range (ossia non abcde){html,xml} corrisponde ad una delle parole specificate nella

lista

sistemi operativi

Page 48: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Wildcards[andrea@praha tmp]$ lsREADME README2 TODO[andrea@praha tmp]$ cp * ../tmp1/[andrea@praha tmp]$ ls ../tmp1/README README2 TODO[andrea@praha tmp]$ rm -f ../tmp1/READ*[andrea@praha tmp]$ ls ../tmp1/TODO[andrea@praha tmp]$ ls0 1 2 3 4 5 6 README Doc Util data.txt todo.txt nota.doc[andrea@praha tmp]$ cp -d [0-9] Util0 1 2 3 4 5 6 README Doc Util[andrea@praha tmp]$ ls Util0 1 2 3 4 5 6[andrea@praha tmp]$ ls *.{txt,doc}data.txt todo.txt nota.doc

sistemi operativi

Page 49: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

Esecuzione di programmi genericiL’interprete di comandi permette di eseguire qualunquecomando sia disponibile sul calcolatoreVedremo esempi di uso della linea di comando per lanciareprogrammi di rete, o programmi scritti da noi in unlinguaggio di programmazioneE’ possibile usare l’interprete per lanciare un programmacon interfaccia grafica, nel qual caso l’interprete farapartire l’interfaccia corrispondente

sistemi operativi

Page 50: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Interprete di comandi

PermessiTutte le operazioni fatte sul file system sono vincolate aipermessi su file e directoryPerche l’operazione vada a buon fine, l’utente che esegueil comando deve avere i permessi necessariSe l’utente tenta di eseguire un comando per cui non ha ipermessi, il sistema operativo genera un errore, ed ilcomando non ha effetto

sistemi operativi

Page 51: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Protezione nel File System (UNIX)

Si distingue tra:

proprietario del fileutente appartenente allo stesso gruppo del proprietarioaltro utente

Si distinguono i permessi di:

scritturaletturaesecuzione

In totale 9 flags specificano i permessi di un file:

r w x r w x r w x

owner group other

sistemi operativi

Page 52: Andrea Passerini passerini@disi.unitnpasserini/teaching/2010-2011/...architetture hardware e orientato alla programmazione Il sistema si e diffuso notevolmente in ambito accademico,`

Significato dei permessi

Il significato dei permessi differisce se si tratta di file o didirectory

filelettura e possibile leggere il contenuto del file

scrittura e possibile modificare il contenuto del fileesecuzione e possibile eseguire il file (nel caso in cui il file

contenga un programma)

directory

lettura e possibile recuperare l’elenco dei file contenutinella directory

scrittura e possibile creare un nuovo file nella directoryesecuzione e possibile entrare nella directory o attraversarla

per entrare in una sua sottodirectory

sistemi operativi