Laboratorio di programmazione - introduzione all'uso di...

48
Laboratorio di programmazione - introduzione all’uso di Linux Violetta Lonati Universit` a degli studi di Milano Dipartimento di Scienze dell’Informazione Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Transcript of Laboratorio di programmazione - introduzione all'uso di...

Page 1: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Laboratorio di programmazione - introduzione all’uso diLinux

Violetta Lonati

Universita degli studi di MilanoDipartimento di Scienze dell’Informazione

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 2: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Outline

Alcune parole chiave

Sistema operativo GNU/Linux

La bash

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 3: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Alcune parole chiave

Hardware e software

I Hardware: equipaggiamento fisico del computer

I Software: equipaggiamento logico del computer

Tipi di software

I software applicativo: costituito da programmi che svolgonofunzionalita rivolte prevalentemente agli utilizzatori finali

I software di base/di sistema: insieme di programmi necessari alfunzionamento del computer

I sistema operativoI driver delle periferiche

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 4: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Alcune parole chiave

Hardware e software

I Hardware: equipaggiamento fisico del computer

I Software: equipaggiamento logico del computer

Tipi di software

I software applicativo: costituito da programmi che svolgonofunzionalita rivolte prevalentemente agli utilizzatori finali

I software di base/di sistema: insieme di programmi necessari alfunzionamento del computer

I sistema operativoI driver delle periferiche

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 5: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Alcune parole chiave

Algoritmo, programma, processo

I Algoritmo: procedimento formato da una sequenza finita di passielementari che conducano alla soluzione di un problema, o piu ingenerale allo svolgimento di un compito.

I Programma: descrizione di un algoritmo in un linguaggio adatto adessere eseguito da un computer (linguaggio di programmazione). Sitratta di un entita statica.

I Processo: istanza di un programma in esecuzione. Si tratta diun’entita dinamica.

Programma, software, applicazione

I Programma Vs Software → es: librerie, file

I Programma Vs Applicazione → collezione di componenti software(programmi, librerie, file), prospettiva dell’utente finale

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 6: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Alcune parole chiave

Algoritmo, programma, processo

I Algoritmo: procedimento formato da una sequenza finita di passielementari che conducano alla soluzione di un problema, o piu ingenerale allo svolgimento di un compito.

I Programma: descrizione di un algoritmo in un linguaggio adatto adessere eseguito da un computer (linguaggio di programmazione). Sitratta di un entita statica.

I Processo: istanza di un programma in esecuzione. Si tratta diun’entita dinamica.

Programma, software, applicazione

I Programma Vs Software → es: librerie, file

I Programma Vs Applicazione → collezione di componenti software(programmi, librerie, file), prospettiva dell’utente finale

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 7: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Outline

Alcune parole chiave

Sistema operativo GNU/Linux

La bash

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 8: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Sistema operativo

I e necessario per il funzionamento del computerI di solito e installato su disco fissoI puo’ anche essere avviato tramite un altro supporto (es: cd, chiavetta

usb, floppy)

I serve per:I gestire risorse

I gestione perifericheI esecuzione simultanea di programmi (processore)I memorizzazione e sicurezza dei dati (file system)I gestione multi-utente (login)

I facilitare l’uso del computerI agli utenti in genere: fornendo un interfaccia (grafica e/o testuale)I ai programmatori: fornendo funzionalita ad alto livello che mascherano

l’hardware

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 9: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Sistema operativo

I e necessario per il funzionamento del computerI di solito e installato su disco fissoI puo’ anche essere avviato tramite un altro supporto (es: cd, chiavetta

usb, floppy)

I serve per:I gestire risorse

I gestione perifericheI esecuzione simultanea di programmi (processore)I memorizzazione e sicurezza dei dati (file system)I gestione multi-utente (login)

I facilitare l’uso del computerI agli utenti in genere: fornendo un interfaccia (grafica e/o testuale)I ai programmatori: fornendo funzionalita ad alto livello che mascherano

l’hardware

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 10: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Sistema operativo

I e necessario per il funzionamento del computerI di solito e installato su disco fissoI puo’ anche essere avviato tramite un altro supporto (es: cd, chiavetta

usb, floppy)

I serve per:I gestire risorse

I gestione perifericheI esecuzione simultanea di programmi (processore)I memorizzazione e sicurezza dei dati (file system)I gestione multi-utente (login)

I facilitare l’uso del computerI agli utenti in genere: fornendo un interfaccia (grafica e/o testuale)I ai programmatori: fornendo funzionalita ad alto livello che mascherano

l’hardware

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 11: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Nelle aule 307 e 309

I Dual boot: sono installati due sistemi operativi che si possono usarealternativamente.

I Windows XpI Gnu/Linux Mandriva

I All’avvio bisogna scegliere e indicare quale sistema operativo usare.

I Noi useremo Linux

I Se e’ gia’ attivo Windows bisogna fare un reboot (riavvio) dellamacchina con CTRL + ALT + CANC , quindi scegliere Linux

I Una volta avviato il sistema operativo bisogna autenticarsi con unaprocedura chiamata login. Il sistema e’ multiutente: ciascun utenteha un proprio account individuato da

I nome utente o user nameI password

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 12: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Nelle aule 307 e 309

I Dual boot: sono installati due sistemi operativi che si possono usarealternativamente.

I Windows XpI Gnu/Linux Mandriva

I All’avvio bisogna scegliere e indicare quale sistema operativo usare.

I Noi useremo Linux

I Se e’ gia’ attivo Windows bisogna fare un reboot (riavvio) dellamacchina con CTRL + ALT + CANC , quindi scegliere Linux

I Una volta avviato il sistema operativo bisogna autenticarsi con unaprocedura chiamata login. Il sistema e’ multiutente: ciascun utenteha un proprio account individuato da

I nome utente o user nameI password

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 13: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Nelle aule 307 e 309

I Dual boot: sono installati due sistemi operativi che si possono usarealternativamente.

I Windows XpI Gnu/Linux Mandriva

I All’avvio bisogna scegliere e indicare quale sistema operativo usare.

I Noi useremo Linux

I Se e’ gia’ attivo Windows bisogna fare un reboot (riavvio) dellamacchina con CTRL + ALT + CANC , quindi scegliere Linux

I Una volta avviato il sistema operativo bisogna autenticarsi con unaprocedura chiamata login. Il sistema e’ multiutente: ciascun utenteha un proprio account individuato da

I nome utente o user nameI password

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 14: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Nelle aule 307 e 309

I Dual boot: sono installati due sistemi operativi che si possono usarealternativamente.

I Windows XpI Gnu/Linux Mandriva

I All’avvio bisogna scegliere e indicare quale sistema operativo usare.

I Noi useremo Linux

I Se e’ gia’ attivo Windows bisogna fare un reboot (riavvio) dellamacchina con CTRL + ALT + CANC , quindi scegliere Linux

I Una volta avviato il sistema operativo bisogna autenticarsi con unaprocedura chiamata login. Il sistema e’ multiutente: ciascun utenteha un proprio account individuato da

I nome utente o user nameI password

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 15: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Nelle aule 307 e 309

I Dual boot: sono installati due sistemi operativi che si possono usarealternativamente.

I Windows XpI Gnu/Linux Mandriva

I All’avvio bisogna scegliere e indicare quale sistema operativo usare.

I Noi useremo Linux

I Se e’ gia’ attivo Windows bisogna fare un reboot (riavvio) dellamacchina con CTRL + ALT + CANC , quindi scegliere Linux

I Una volta avviato il sistema operativo bisogna autenticarsi con unaprocedura chiamata login. Il sistema e’ multiutente: ciascun utenteha un proprio account individuato da

I nome utente o user nameI password

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 16: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Gnu/Linux

I Cos’e GNU/Linux?

I e un sistema operativo libero di tipo UnixI e un software rilasciato con una licenza che permette a chiunque di

utilizzarlo e che ne incoraggia lo studio, le modifiche e la redistribuzioneI si puo installare senza costo su ormai quasi tutti i PC

I Perche GNU/Linux?

I ci permette di introdurre concetti fondamentali e strumenti potentimolto utili per un informatico

I probabilmente conoscete gia Windows... siete qui per imparare cosenuove!

I questa e solo un’infarinatura: nel corso di sistemi operativiapprofondirete meglio questi concetti

I Cos’e una distribuzione Linux?

I e una distribuzione software che include un kernel Linux e un insiemevariabile di altri strumenti e applicazioni software, compresi strumentiche guidano l’utente nella fase di installazione

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 17: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Gnu/Linux

I Cos’e GNU/Linux?

I e un sistema operativo libero di tipo UnixI e un software rilasciato con una licenza che permette a chiunque di

utilizzarlo e che ne incoraggia lo studio, le modifiche e la redistribuzioneI si puo installare senza costo su ormai quasi tutti i PC

I Perche GNU/Linux?

I ci permette di introdurre concetti fondamentali e strumenti potentimolto utili per un informatico

I probabilmente conoscete gia Windows... siete qui per imparare cosenuove!

I questa e solo un’infarinatura: nel corso di sistemi operativiapprofondirete meglio questi concetti

I Cos’e una distribuzione Linux?

I e una distribuzione software che include un kernel Linux e un insiemevariabile di altri strumenti e applicazioni software, compresi strumentiche guidano l’utente nella fase di installazione

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 18: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Gnu/Linux

I Cos’e GNU/Linux?

I e un sistema operativo libero di tipo UnixI e un software rilasciato con una licenza che permette a chiunque di

utilizzarlo e che ne incoraggia lo studio, le modifiche e la redistribuzioneI si puo installare senza costo su ormai quasi tutti i PC

I Perche GNU/Linux?

I ci permette di introdurre concetti fondamentali e strumenti potentimolto utili per un informatico

I probabilmente conoscete gia Windows... siete qui per imparare cosenuove!

I questa e solo un’infarinatura: nel corso di sistemi operativiapprofondirete meglio questi concetti

I Cos’e una distribuzione Linux?

I e una distribuzione software che include un kernel Linux e un insiemevariabile di altri strumenti e applicazioni software, compresi strumentiche guidano l’utente nella fase di installazione

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 19: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Outline

Alcune parole chiave

Sistema operativo GNU/Linux

La bash

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 20: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Interprete dei comandi (shell)

E’ un programma che permette all’utente di interagire con la macchina,impartendo comandi e chiedendo l’esecuzione di programmi.

GUI - graphic user interface

I desktop, icone, finestre

I uso del mouse

I intuitivo, facile per l’utenteinesperto

I consuma risorse

I scomodo in rete

I es: Windows Explorer,Gnome o KDE per Linux

CLI - command line interface

I digitazione comandi

I regole di sintassi

I richiede conoscenza piuavanzata

I op. ripetivive e complesse

I strumento potente e veloce

I es: prompt di MS-DOS, bashper Linux

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 21: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Bash

E’ una shell testuale del progetto GNU, usata in Unix e Linux

I contiene una serie di comandi predefiniti

I permette di richiedere l’esecuzione di programmi

I mette a disposizione un linguaggio di programmazione → script

Introduzione all’uso della bash:

I documentazione online → man

I come impartire comandi e eseguire programmi

I facilitazioni → completamento e history

I sintassi dei comandi

I comandi per la gestione dei file

I comandi per la gestione dei processi

I redirezione di input/output

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 22: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Bash

E’ una shell testuale del progetto GNU, usata in Unix e Linux

I contiene una serie di comandi predefiniti

I permette di richiedere l’esecuzione di programmi

I mette a disposizione un linguaggio di programmazione → script

Introduzione all’uso della bash:

I documentazione online → man

I come impartire comandi e eseguire programmi

I facilitazioni → completamento e history

I sintassi dei comandi

I comandi per la gestione dei file

I comandi per la gestione dei processi

I redirezione di input/output

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 23: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Primi passi con la bash

I Per poter usare la bash e’ necessario avviare un emulatore diterminale (es: Konsole, xterm), ovvero un programma che fornisceuna finestra testuale attraverso la quale impartire i comandi.

I Avviate Konsole tramite il menu principale.

I Il terminale attende vostre istruzioni, e ve lo dice mostrandoviprompt: [me@pc14]$

Che succede se:

I scrivete qualche carattere a casaccio, seguito dal tasto INVIO ?

I digitate il tasto UP (freccia su)?

I digitate la lettera a seguita dal TAB ?

I usate il mouse all’interno della finestra?

I evidenziate del testo tenendo cliccato il tasto sinistro del mouse, poispostate il mouse e cliccate col tasto centrale (se avete solo due tasti,cliccate contemporaneamente i due tasti destro e sinistro)?

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 24: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Primi passi con la bash

I Per poter usare la bash e’ necessario avviare un emulatore diterminale (es: Konsole, xterm), ovvero un programma che fornisceuna finestra testuale attraverso la quale impartire i comandi.

I Avviate Konsole tramite il menu principale.

I Il terminale attende vostre istruzioni, e ve lo dice mostrandoviprompt: [me@pc14]$

Che succede se:

I scrivete qualche carattere a casaccio, seguito dal tasto INVIO ?

I digitate il tasto UP (freccia su)?

I digitate la lettera a seguita dal TAB ?

I usate il mouse all’interno della finestra?

I evidenziate del testo tenendo cliccato il tasto sinistro del mouse, poispostate il mouse e cliccate col tasto centrale (se avete solo due tasti,cliccate contemporaneamente i due tasti destro e sinistro)?

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 25: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Comandi, argomenti, parametri

La sintassi generale di un comando e la seguentenome comando opzioni argomentiopzioni e argomenti possono anche non esserci

I Il comando man seguito dal nome di un comando mostra le paginedella guida relative a quel comando. Provate a digitare il comandoman man seguito da invio. Cosa scoprite?

I Una versione ridotta del man si ottiene digitando un comando conl’opzione - -help

Esercizio:

I Scoprite a cosa servono i comandi uname , whoami , cal .

I Provate ad usare gli stessi comandi con dei parametri.

I Cambiate la vostra password, usando il comando yppasswd (nondimenticate la nuova password!!!)

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 26: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Comandi, argomenti, parametri

La sintassi generale di un comando e la seguentenome comando opzioni argomentiopzioni e argomenti possono anche non esserci

I Il comando man seguito dal nome di un comando mostra le paginedella guida relative a quel comando. Provate a digitare il comandoman man seguito da invio. Cosa scoprite?

I Una versione ridotta del man si ottiene digitando un comando conl’opzione - -help

Esercizio:

I Scoprite a cosa servono i comandi uname , whoami , cal .

I Provate ad usare gli stessi comandi con dei parametri.

I Cambiate la vostra password, usando il comando yppasswd (nondimenticate la nuova password!!!)

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 27: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Comandi, argomenti, parametri

La sintassi generale di un comando e la seguentenome comando opzioni argomentiopzioni e argomenti possono anche non esserci

I Il comando man seguito dal nome di un comando mostra le paginedella guida relative a quel comando. Provate a digitare il comandoman man seguito da invio. Cosa scoprite?

I Una versione ridotta del man si ottiene digitando un comando conl’opzione - -help

Esercizio:

I Scoprite a cosa servono i comandi uname , whoami , cal .

I Provate ad usare gli stessi comandi con dei parametri.

I Cambiate la vostra password, usando il comando yppasswd (nondimenticate la nuova password!!!)

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 28: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Navigare nel file system - percorsi assoluti

I Il file system memorizza i dati usando dei file organizzati in directoriese subdirectories, secondo una struttura gerarchica ad albero, con unaradice detta root e indicata con / .

I Ogni file all’interno del file system e individuato in base alla suaposizione nell’albero, cioe al cammino (path assoluto) che si devepercorrere per raggiungerlo a partire dalla radice.

I Es: /home/violi/mio file.txt → uso di /

I Al momento del login ci si trova nella propria directory che hapathname /home/nome utente . Usate il comando pwd (printwork directory) per stampare il path della directory corrente.

I Per cambiare la directory, basta usare il comando cd seguito dalpath della directory desiderata (il tasto tab puo essere d’aiuto).

I Provate a digitare il comando cd /usr/bin/ . Come e cambiato ilprompt?

I Verificate in che directory siete usando di nuovo il comando pwd .

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 29: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Navigare nel file system - percorsi assoluti

I Il file system memorizza i dati usando dei file organizzati in directoriese subdirectories, secondo una struttura gerarchica ad albero, con unaradice detta root e indicata con / .

I Ogni file all’interno del file system e individuato in base alla suaposizione nell’albero, cioe al cammino (path assoluto) che si devepercorrere per raggiungerlo a partire dalla radice.

I Es: /home/violi/mio file.txt → uso di /

I Al momento del login ci si trova nella propria directory che hapathname /home/nome utente . Usate il comando pwd (printwork directory) per stampare il path della directory corrente.

I Per cambiare la directory, basta usare il comando cd seguito dalpath della directory desiderata (il tasto tab puo essere d’aiuto).

I Provate a digitare il comando cd /usr/bin/ . Come e cambiato ilprompt?

I Verificate in che directory siete usando di nuovo il comando pwd .

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 30: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Navigare nel file system - percorsi relativi

Al posto di usare i path assoluti e possibile individuare un file definendo ilcammino che si deve percorrere per raggiungerlo partendo dalla directorycorrente, anziche dalla radice. Tale cammino e detto path relativo.

I Si possono usare due simboli speciali per rappresentare le posizioniall’interno dell’albero dei file:

I . si riferisce alla directory correnteI .. si riferisce alla directory padre, cioe di un livello superiore

I Scorciatioia: il comando cd senza argomenti, vi porta nella vostrahome; il simbolo ∼nome utente e un’abbreviazione per/home/nome utente ; se non e specificato il nome utente , ilsimbolo ∼ e un’abbreviazione per la propria home.

I Posizionatevi nella vostra home, quindi nella directory /usr/bin poinella home del vostro vicino, senza mai usare percorsi assoluti.

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 31: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Navigare nel file system - percorsi relativi

Al posto di usare i path assoluti e possibile individuare un file definendo ilcammino che si deve percorrere per raggiungerlo partendo dalla directorycorrente, anziche dalla radice. Tale cammino e detto path relativo.

I Si possono usare due simboli speciali per rappresentare le posizioniall’interno dell’albero dei file:

I . si riferisce alla directory correnteI .. si riferisce alla directory padre, cioe di un livello superiore

I Scorciatioia: il comando cd senza argomenti, vi porta nella vostrahome; il simbolo ∼nome utente e un’abbreviazione per/home/nome utente ; se non e specificato il nome utente , ilsimbolo ∼ e un’abbreviazione per la propria home.

I Posizionatevi nella vostra home, quindi nella directory /usr/bin poinella home del vostro vicino, senza mai usare percorsi assoluti.

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 32: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Navigare nel file system - percorsi relativi

Al posto di usare i path assoluti e possibile individuare un file definendo ilcammino che si deve percorrere per raggiungerlo partendo dalla directorycorrente, anziche dalla radice. Tale cammino e detto path relativo.

I Si possono usare due simboli speciali per rappresentare le posizioniall’interno dell’albero dei file:

I . si riferisce alla directory correnteI .. si riferisce alla directory padre, cioe di un livello superiore

I Scorciatioia: il comando cd senza argomenti, vi porta nella vostrahome; il simbolo ∼nome utente e un’abbreviazione per/home/nome utente ; se non e specificato il nome utente , ilsimbolo ∼ e un’abbreviazione per la propria home.

I Posizionatevi nella vostra home, quindi nella directory /usr/bin poinella home del vostro vicino, senza mai usare percorsi assoluti.

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 33: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Visualizzare file e directories

I Visualizzate il contenuto della vostra home e della directory/usr/bin sperimentando il comando ls e le sue opzioni -l, -a,-r, -u

I Scoprite a cosa serve il comando file .I Provate ad usare il comando less per visualizzare il contenuto di un

file di testo.I Usate i tasti UP DOWN PageUP PageDOWN per scorrere il testoI Provate a digitare le lettere /a . Cosa succede?I Cosa succede se subito dopo digitate n ?I Per uscire dal less, digitate q

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 34: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Wildcards

Spesso si ha bisogno di specificare in modo veloce gruppi di file in base alloro nome. Per fare questo la bash mette a disposizione alcuni caratterichiamati wildcards, ovvero Jolly.

I * indica una qualunque sequenza di zero o piu caratteri

I ? indica un qualunque carattere

I [A-Z] indica un qualunque carattere tra A e Z

I [0-9] indica una qualunque cifra decimale

I ...

Ad esempio, il comando ls -l /usr/bin/a* visualizza tutti i file delladir /usr/bin che iniziano per a

Esercizio

I Visualizzate l’elenco dei file in /usr/bin il cui nome finisce per x

I Visualizzate l’elenco dei file in /usr/bin il cui nome contiene unacifra e avente a come secondo carattere

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 35: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Wildcards

Spesso si ha bisogno di specificare in modo veloce gruppi di file in base alloro nome. Per fare questo la bash mette a disposizione alcuni caratterichiamati wildcards, ovvero Jolly.

I * indica una qualunque sequenza di zero o piu caratteri

I ? indica un qualunque carattere

I [A-Z] indica un qualunque carattere tra A e Z

I [0-9] indica una qualunque cifra decimale

I ...

Ad esempio, il comando ls -l /usr/bin/a* visualizza tutti i file delladir /usr/bin che iniziano per a

Esercizio

I Visualizzate l’elenco dei file in /usr/bin il cui nome finisce per x

I Visualizzate l’elenco dei file in /usr/bin il cui nome contiene unacifra e avente a come secondo carattere

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 36: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Manipolare file

NOTA: i nomi dei file e delle dir sono case sensitive:

MAIUSCOLO 6= minuscolo.

NOTA: sconsiglio fortemente di usare gli spazi nei nomi di file e dir!

Esercizio

I Create nella vostra home 3 file pippo1 , pippo2 e pippo3 con ilcomando touch

I Create nella vostra home una directory chiamatalab programmazione usando il comando mkdir

I Tornate nella vostra home e, da lı, create una nuova cartellaintro linux all’interno della dir lab programmazione

I Con il comando mv spostate i file pippo1 , pippo2 e pippo3nella cartella intro linux appena creata

I Con il comando rm cancellate il file pippo3

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 37: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Manipolare file

NOTA: i nomi dei file e delle dir sono case sensitive:

MAIUSCOLO 6= minuscolo.

NOTA: sconsiglio fortemente di usare gli spazi nei nomi di file e dir!

Esercizio

I Create nella vostra home 3 file pippo1 , pippo2 e pippo3 con ilcomando touch

I Create nella vostra home una directory chiamatalab programmazione usando il comando mkdir

I Tornate nella vostra home e, da lı, create una nuova cartellaintro linux all’interno della dir lab programmazione

I Con il comando mv spostate i file pippo1 , pippo2 e pippo3nella cartella intro linux appena creata

I Con il comando rm cancellate il file pippo3

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 38: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Redirezione dell’Output

I La maggiorparte dei comandi manda il proprio output ad undispositivo chiamato standard output. Per default questo e il monitor.

I Lo standard output puo essere rediretto verso altri dispositivi (es: file,stampante, ecc), attraverso l’uso del simbolo >

Esercizio

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 39: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Redirezione dell’Output

I La maggiorparte dei comandi manda il proprio output ad undispositivo chiamato standard output. Per default questo e il monitor.

I Lo standard output puo essere rediretto verso altri dispositivi (es: file,stampante, ecc), attraverso l’uso del simbolo >

Esercizio

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 40: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Redirezione dell’Output

I La maggiorparte dei comandi manda il proprio output ad undispositivo chiamato standard output. Per default questo e il monitor.

I Lo standard output puo essere rediretto verso altri dispositivi (es: file,stampante, ecc), attraverso l’uso del simbolo >

Esercizio

I Cosa ottenete digitando il comandols -l /usr/bin ?

I Ora digitate il comandols -l /usr/bin > lista comandi.txtDi che tipo e il file lista comandi.txt ? Cosa contiene questo file?

I Ora digitate il comandols -lr /usr/bin > lista comandi.txtCosa e successo al file lista comandi.txt ?

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 41: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Redirezione dell’Output

I La maggiorparte dei comandi manda il proprio output ad undispositivo chiamato standard output. Per default questo e il monitor.

I Lo standard output puo essere rediretto verso altri dispositivi (es: file,stampante, ecc), attraverso l’uso del simbolo >

Esercizio

I Il comando sort ordina le righe di un testo dato in input.

I Digitate sort seguito da INVIO , poi scrivete 5 righe contenenteciascuna una frase a scelta. Per indicare la fine dell’input CTRL + d .Cosa succede?

I Ripetete il comando precedente redirigendo l’output in modo dasalvarlo in un file frasi.txt

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 42: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Redirezione dell’Input

Analogamente, la maggiorparte dei comandi riceve il proprio input da undispositivo chiamato standard input. Per default questo e la tastiera. Lostandard input puo essere rediretto verso altri dispositivi (es: file),attraverso l’uso del simbolo <

Esercizio

I Il comando wc conta il numero di caratteri, parole e righe dell’input.Cosa si ottiene con i comando wc < frasi.txt ?

I Visualizzate le righe del file frasi.txt in ordine inverso usando ilcomando sort con le opportune opzioni.

I Ordinate le righe del file frasi.txt in ordine inverso, salvando ilrisultato in un file chiamato frasi ordinate.txt

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 43: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Redirezione dell’Input

Analogamente, la maggiorparte dei comandi riceve il proprio input da undispositivo chiamato standard input. Per default questo e la tastiera. Lostandard input puo essere rediretto verso altri dispositivi (es: file),attraverso l’uso del simbolo <

Esercizio

I Il comando wc conta il numero di caratteri, parole e righe dell’input.Cosa si ottiene con i comando wc < frasi.txt ?

I Visualizzate le righe del file frasi.txt in ordine inverso usando ilcomando sort con le opportune opzioni.

I Ordinate le righe del file frasi.txt in ordine inverso, salvando ilrisultato in un file chiamato frasi ordinate.txt

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 44: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

La pipe

I E’ possibile collegare comandi tra loro usando la pipe, denotata dalsimbolo |

I Attraverso la pipe, lo standard output di un commando diventa lostandard input di un altro comando

I Ad esempio, il comando ls -l | less invoca ls con l’opzione-l , e da il risultato in pasto al comando less In questo modo epossibile scrollare l’output e fare ricerche con /n .

Esercizio

I Salvate la homepage del nostro corso (file html) nella dir/home/nome utente/laboratorio programmazione/intro linuxCalcolate il numero di righe del file che contengono la parolaprogrammazione. Vi sara utile il comando grep

I Calcolate il numero di file in /usr/bin che iniziano con due lettereseguite da una a e che terminano con x .

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 45: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

La pipe

I E’ possibile collegare comandi tra loro usando la pipe, denotata dalsimbolo |

I Attraverso la pipe, lo standard output di un commando diventa lostandard input di un altro comando

I Ad esempio, il comando ls -l | less invoca ls con l’opzione-l , e da il risultato in pasto al comando less In questo modo epossibile scrollare l’output e fare ricerche con /n .

Esercizio

I Salvate la homepage del nostro corso (file html) nella dir/home/nome utente/laboratorio programmazione/intro linuxCalcolate il numero di righe del file che contengono la parolaprogrammazione. Vi sara utile il comando grep

I Calcolate il numero di file in /usr/bin che iniziano con due lettereseguite da una a e che terminano con x .

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 46: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Lanciare programmi grafici dalinea di comando

I Provate a digitare il comando mozilla-firefox . Cosa succede alprompt?

I Per interrompere il processo e’ possibile usare CTRL + C oppurechiudere la finestra Provate entrambe le vie... cosa succede alprompt?

I Una volta lanciato un programma e comqunque possibile sospendereun processo digitando CTRL + Z . Provate a lanciare kpdf e poisospendere il processo

I Si puo’ riattivare un processo mettendolo in background con ilcomando bg . Questo permette di avere il prompt nuovamentedisponibile.

I E’ possibile lanciare un programma grafico mettendolo subito inbackground usando il simbolo & in modo da mantenere disponibile ilprompt: provate a digitare mozilla-firefox &

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 47: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Controllo dei processi

I sistema multitasking: gestisce piu’ processi in modo(apparentemente) simultaneo.

I Processo = programma in esecuzioneI Come controllare i processi?

I Per elencare i processi, si puo’ usare il comando ps con varieopzioni. Cercate di stabilire la differenza tra i seguenti 4 comandi:ps - ps x - ps ux - ps aux

I Quando un programma non risponde, e’ possibile interromperlo aforza con il comando kill .

I Lanciate kpdf da linea di comando e mettetelo in background.I Usate il comando ps con le opzioni opportune per individuare

l’identificativo del processo (PID) corrispondente all’istanza inesecuzione di kpdf. Quando ci sono troppi processi e’ utile usare icomandi ps e grep collegati da una pipe...

I Digitate il comando kill con argomento il PID trovatoI Verificate usando nuovamente ps che il processo non esista piu’.I Se il processo non sparisce lo stesso, e’ il caso di usare l’opzione -9 !

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux

Page 48: Laboratorio di programmazione - introduzione all'uso di Linuxhomes.di.unimi.it/~lonati/progtelecom/materiali/lucidi_linux.pdf · Linux Violetta Lonati Universit`a degli studi di Milano

Controllo dei processi

I sistema multitasking: gestisce piu’ processi in modo(apparentemente) simultaneo.

I Processo = programma in esecuzioneI Come controllare i processi?

I Per elencare i processi, si puo’ usare il comando ps con varieopzioni. Cercate di stabilire la differenza tra i seguenti 4 comandi:ps - ps x - ps ux - ps aux

I Quando un programma non risponde, e’ possibile interromperlo aforza con il comando kill .

I Lanciate kpdf da linea di comando e mettetelo in background.I Usate il comando ps con le opzioni opportune per individuare

l’identificativo del processo (PID) corrispondente all’istanza inesecuzione di kpdf. Quando ci sono troppi processi e’ utile usare icomandi ps e grep collegati da una pipe...

I Digitate il comando kill con argomento il PID trovatoI Verificate usando nuovamente ps che il processo non esista piu’.I Se il processo non sparisce lo stesso, e’ il caso di usare l’opzione -9 !

Violetta Lonati Laboratorio di programmazione - introduzione all’uso di Linux