esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/esercitazione...2...

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

Upload: others

Post on 31-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

1

Reti Informatiche

Corso di Laurea Triennale in Ingegneria Informatica

Reti Informatiche

Corso di Laurea Triennale in Ingegneria Informatica

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Ing. Daniele MiglioriniIng. Daniele MiglioriniIng. Daniele MiglioriniIng. Daniele Migliorini

Page 2: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

2

Informazioni Generali (1/2)

� Ricevimento

� su appuntamento (tramite e-mail).

� E-mail

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 2

� E-mail

[email protected]

� specificare SEMPRE come oggetto “Reti

Informatiche”

Page 3: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

3

Informazioni Generali (2/2)

� Pagina web del corso

� http://www2.ing.unipi.it/~a008149/corsi/reti/

� Account

� http://info.iet.unipi.it/~gardellin/osor/registrazione.php

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 3

ne.php

� Esame

� consegna e discussione del progetto

� esame orale (parte pratica) relativa alle esercitazioni in laboratorio

� esame orale (parte teorica),

� iscrizione obbligatoria su Hamasy.

Page 4: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

4

Prima EsercitazionePrima Esercitazione

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 5: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

5

Programma dell’esercitazione

� Introduzione a Unix.

� Shell.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 5

� Shell.

� Filesystem.

� Comandi di base.

� Altri comandi.

Page 6: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

6

Introduzione ai sistemi UnixIntroduzione ai sistemi Unix

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 7: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

7

Breve storia su Unix

� 1969 - Prima edizione di UNIX sviluppata da Ken

Thompson e Dennis Ritchie presso i Bell

Laboratories.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 7

Laboratories.

� 1973 - Thompson e Ritchie riscrivono UNIX in C.

� Derivati di Unix:

� BSD (Berkeley Software Distribution).

Page 8: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

8

Progetto GNU, FSF, GPL

� 1983198319831983, Stallman lancia il progetto GNU con lo scopo di sviluppare un sistema operativo Unix-like libero.

� 1985198519851985, Stallman fonda la Free Software Foundation (FSF), che promuove lo

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 8

Foundation (FSF), che promuove lo sviluppo di software libero ed, in particolare, del progetto GNU.

� 1989198919891989, Stallmann e Moglen scrivono la versione 1.0 della GPL (o GNU GPL, GNU General Public License).

� La GPL è una licenza per software libero.

Page 9: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

9

GNU/Linux

� GNU/Linux è un sistema operativo

Unix-like costituito

dall’integrazione del kernel Linux

con elementi del sistema GNU.

� Prima versione rilasciata con

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 9

� Prima versione rilasciata con

licenza GPL.

� Esistono numerose varianti

(distribuzioni) tra cui:

� Debian

� Fedora

� Ubuntu

Page 10: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

10

FreeBSD

� FreeBSD è un sistema operativo libero Unix-

like, rilasciato per la prima volta nel 1993.

� La maggior parte di FreeBSD è rilasciato sotto

copyright BSD, il resto è sotto la GNU GPL o

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 10

copyright BSD, il resto è sotto la GNU GPL o

altre licenze open-source.

� Varianti BSD:

� NetBSD

� OpenBSD

Page 11: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

11

Caratteristiche di Unix

� MultitaskingMultitaskingMultitaskingMultitasking: è possibile la contemporanea

esecuzione di più processi a divisione di

tempo.

� MultiutenteMultiutenteMultiutenteMultiutente: più utenti (con diversi privilegi)

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 11

� MultiutenteMultiutenteMultiutenteMultiutente: più utenti (con diversi privilegi)

possono interagire contemporaneamente.

� PortabilitàPortabilitàPortabilitàPortabilità: grazie all’utilizzo del linguaggio C

nella realizzazione del sistema.

� ModularitàModularitàModularitàModularità: suddivisione in moduli.

Page 12: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

12

Struttura di Unix

� 2 componenti principali:

� kernel: il cui scopo è interagire con l’hardware,

� applicazioni: che si rivolgono al nucleo per

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 12

� applicazioni: che si rivolgono al nucleo per

ottenere i servizi richiesti dalle loro funzioni:

� interpreti dei comandi (shell)

� programmi di sistema (strumenti messi a

disposizione dal s.o.)

� programmi utente.

Page 13: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

13

Installazione FreeBSDInstallazione FreeBSD

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 14: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

14

Preparazione del disco

� Operazioni preliminari

� fare spazio su disco.

� Ridimensionamento partizione Windows

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 14

� Ridimensionamento partizione Windows

� direttamente in fase di installazione del S.O.

prima di procedere con l’installazione con es.

� Partition Magic,

� gparted (http://gparted.sourceforge.net),

Page 15: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

15

Partizionamento (1/2)

Un hard disk può essere partizionato in più partizioni:

� partizioni primarie

� specificate nella tabella delle partizioni del master boot

record (MBR)

� al più 4 partizioni primarie in un hard disk

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 15

� al più 4 partizioni primarie in un hard disk

� una sola avviabile

� partizioni estese

� partizioni primarie partizionate in sotto-partizioni

� (partizioni logiche)

� permettono di superare il limite delle quattro partizioni

primarie

Page 16: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

16

Partizionamento (2/2)

� Partizioni FreeBSD:

� le partizioni primarie sono chiamate slice,

� le partizioni logiche sono chiamate partizioni,

� il S.O. deve essere installato in una partizione

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 16

� il S.O. deve essere installato in una partizione

primaria (non estesa).

� Per UNIX, in genere, si usano almeno due

partizioni rispettivamente per:

� la root ( / ) per il sistema operativo,

� lo spazio di swap per la memoria virtuale.

Page 17: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

17

File SystemFile System

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 17

Page 18: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

18

File e Directory

� File: sequenza di 0 o più byte contenenti

informazioni il cui significato è stabilito dal

proprietario del file.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 18

proprietario del file.

� Directory: specifica entità del file system che

elenca altre entità, tipicamente file e altre

directory.

Esercitazione 1 18

Page 19: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

19

File system

� Struttura ad albero.

� Ogni nodo è o un file o

una directory di file.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 19Esercitazione 1 19

una directory di file.

� Le directory, a livello di

sistema, sono trattate

come dei file:

� per il sistema sono

tutti iiii----nodenodenodenode

Page 20: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

20

Path

� Percorso assoluto: si esprime l’intero percorso

partendo da root (/)

� Percorso relativo: si esprime partendo dalla

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 20Esercitazione 1 20

� Percorso relativo: si esprime partendo dalla

directory di lavoro

� . directory corrente

� .. directory padre

Page 21: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

21

Cartelle predefinite

� Sottocartelle della cartella principale / (root):

� /bin programmi eseguibili dall’utente

� /dev file dei device

� /etc file di configurazione del sistema

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 21

� /etc file di configurazione del sistema

� /lib librerie condivise

� /tmp file temporanei

� /usr comandi e strumenti dell'utente

� /root home dell'utente root

� /home cartelle personali degli utentiEsercitazione 1 21

Page 22: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

22

Elementi fondamentali:shell

Elementi fondamentali:shell

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 22

Page 23: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

23

Shell

� Esistono varie shell (sh, bash, csh, tcsh)

� La shell è un interprete di comandi che

ripetutamente:

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 23Esercitazione 1 23

ripetutamente:

� stampa un prompt

� legge un comando scritto dall'utente e terminato

con enter/return/invio

� esegue il comando o segnala un errore se non è in

grado di completarlo

Page 24: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

24

Interprete di comandi

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 24Esercitazione 1 24

� UNIX è case-sensitive

� Più comandi possono essere messi in una

stessa riga separati da ;

Page 25: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

25

Utenti

� Utente root

� amministratore del sistema,

� può compiere qualsiasi tipo di operazione.

� Utente normale

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 25

� Utente normale

� utilizzatore del sistema,

� ha dei privilegi limitati.

� conviene creare un account utente normale

per l’utilizzo abituale del sistema operativo.

Esercitazione 1 25

Page 26: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

26

Accesso al sistema

� Login:

� login: nome_utente

� password: password

� Disconnessione:� logout oppure Ctrl-D

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 26Esercitazione 1 26

� logout oppure Ctrl-D

� Funzioni

� autocompletamento (tasto TAB)

� history (freccia SU/GIU)

� Terminali Virtuali:

� Alt + F1 (F2,F3,…) : passaggio ad altri terminali.

Page 27: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

27

Shutdown

� I sistemi UNIX permettono solo all'utente root

di avviare la procedura di arresto del sistema

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 27

di avviare la procedura di arresto del sistema

con i comandi seguenti:

� # shutdown -p now

� # shutdown -r now (riavvio finale).

Esercitazione 1 27

Page 28: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

28

Comandi di BaseComandi di Base

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 28

Page 29: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

29

Comando cd

� cd (change directory) consente di passare da una

directory ad un’altra.

Esempio dove sia uno la directory corrente, se si digita:

� $ cd /prova (path assoluto)

� si passa alla directory prova;/

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 29

� si passa alla directory prova;

� $ cd prova (path relativo)

� si passa alla directory prova;

� $ cd ~ o cd� Si passa alla directory home dell’utente;

� $ cd ..� Si passa alla directory padre che, in tal caso, è /.

Esercitazione 1 29

prova uno

prova

Page 30: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

30

Comando pwd

� pwd (print working directory) visualizza il

percorso assolutoassolutoassolutoassoluto della directory corrente.

� Esempio:

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 30

� Esempio:

$ cd /bin

$ pwd

/bin

Page 31: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

31

Comando ls (1/3)

ls (list segments) visualizza i nomi di file o il contenuto delle directory indicate.

Esempio:

� per vedere il contenuto della directory / (1):

$ cd /

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 31

$ cd /$ lsbin dev home mnt tmp boot etc lib root var

� per vedere il contenuto della directory / (2):

$ ls /bin dev home mnt tmp boot etc lib root var

Page 32: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

32

Comando ls (2/3)

� La sintassi generale di ls è la seguente:

ls [opzioni] file/dir1 file/dir2…]

� [file/dir1 file/dir2…] : specificano i file e/o

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 32

� [file/dir1 file/dir2…] : specificano i file e/o

le directory da elencare, in loro assenza è elencato il

contenuto della directory corrente.

� [opzioni] : definiscono le opzioni con cui eseguire

il comando ls. Tali opzioni vengono specificate dopo

il simbolo - .

Page 33: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

33

Comando ls (3/3)

Opzioni principali:

� $ ls –l� Visualizza, oltre ai nomi, altre informazioni quali ad esempio modalità di accesso, proprietario del file,…

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 33

file,…

� $ ls –a� vengono elencati anche gli elementi i cui nomi iniziano con punto (i cosiddetti file nascosti).

� Le opzioni sono “cumulabili”, ad esempio è possibile scrivere:

� $ ls –la

Page 34: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

34

Wildcard

� Insiemi di file possono essere riferiti usando i

metacaratteri (wildcard).

� *: sostituisce zero o più caratteri.

� ?: sostituisce un carattere singolo.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 34

� ?: sostituisce un carattere singolo.

� [a,b,c] o [a-z]: sostituisce un carattere

nell’insieme.

� Esempio:

� ls *.c

� Elenca i file che terminano con .c

Page 35: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

35

Comandi di helpComandi di help

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 36: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

36

Comando man (1/2)

� Documentazione consultabile tramite il comando man (manual).

� Le pagine di tale documentazione sono

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 36

� Le pagine di tale documentazione sono

raggruppate in sezioni omogenee in base al

tipo di argomento trattato, ad esempio:

� Sezione 1: comandi generali,

� Sezione 2: chiamate di sistema,…

Page 37: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

37

Comando man (2/2)

La sintassi generale è la seguente:

man nome_comando

per accedere alle pagine man di una sezione del

manuale che non sia quella predefinita, è

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 37

manuale che non sia quella predefinita, è

necessario specificare la sezione alla quale si è

interessati.

Esempio:

� $ man 1 printf

� $ man 3 printf

Page 38: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

38

Apropos e whatis

Altri due comandi di help disponibili in Unix sono:

� apropos : ricerca per parola chiave (opera in

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 38

� apropos : ricerca per parola chiave (opera in

modo analogo al comando man -k).

� whatis : fornisce la riga sommario relativa ad un

comando.

Page 39: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

39

Comandi sui FileComandi sui File

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 40: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

40

Comandi mkdir, rmdir, cp, mv

� mkdir [opzioni] directory… : crea una

directory.

� rmdir[opzioni] directory… : elimina le

directory specificate solo se sono vuote.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 40

directory specificate solo se sono vuote.

� cp[opzioni] origine destinazione : copia

file o directory in un'unica destinazione.

� mv[opzioni] origine destinazione : sposta

i file e le directory.

Page 41: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

41

Comandi touch, cat, rm, ln

� touch [opzioni] file… : cambia data e ora di

accesso e di aggiornamento dei file. Se si specificano

file che non esistono, questi vengono creati vuoti.

� cat [opzioni] [file…] : concatena dei file e ne

emette il contenuto attraverso lo standard output.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 41

emette il contenuto attraverso lo standard output.

� rm [opzioni] file… : Rimuove i file indicati

come argomento. In mancanza dell’indicazione delle

opzioni necessarie, non vengono rimosse le directory.

� ln [opzioni] sorgente destinazione : crea

collegamenti fisici o simbolici a file e directory.

Page 42: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

42

Lettura FileLettura File

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 43: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

43

Comandi less e more

� less [opzioni] [file]…

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 43

� less [opzioni] [file]…

� more [opzioni] [file]…

� Utilizzati per leggere file di puro testo.

Page 44: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

44

Operazioni sui fileOperazioni sui file

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 45: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

45

Comandi tail, head

� tail [opzioni] [file]… :

mostra le ultime linee di dati provenienti da

uno o più file di testo.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 45

uno o più file di testo.

� head [opzioni] [file]… :

mostra le prime linee di dati provenienti da

uno o più file di testo.

Page 46: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

46

Redirezione e pipelineRedirezione e pipeline

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 47: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

47

Redirezione (1/2)

La redirezione redirige i dati in modo da

destinarli ad un file o da prelevarli da un file

(uso di <, 2>, >, >>).

� Redirezione dell’input (<)

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 47

� Redirezione dell’input (<)

� $ cat < elenco� Si ottiene in questo modo la visualizzazione del contenuto del

file elenco.

� Redirezione dello standard error (2>)

� $ lll 2> elenco� Salva lo standard error nel file elenco.

Page 48: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

48

Redirezione (2/2)

� Redirezione dell’output (>, >>)

� $ ls -l > elenco

� Questo comando genera il file elenco con il risultato

dell’esecuzione di ls.

� Genera un nuovo file ogni volta, eventualmente

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 48

Genera un nuovo file ogni volta, eventualmente

sovrascrivendo ciò che esiste già con lo stesso nome.

� La redirezione dell’output può essere fatta in

aggiunta, aggiungendo i dati ad un file esistente con

l’uso di >>:

� $ ls -l /tmp >> elenco

� In tal modo viene aggiunto al file elenco l’elenco dettagliato del

contenuto della directory /tmp.

Page 49: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

49

Pipeline

La pipeline è una forma di redirezione in cui la

shell invia l’output di un comando come input

del successivo.

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 49

del successivo.

� $ cat elenco | sort

� In questo modo, cat legge il contenuto del file

elenco che, invece di essere visualizzato sullo

schermo, viene inviato dalla shell come input di

sort che lo riordina e poi lo emette sullo schermo.

Page 50: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

50

EsercizioEsercizio

© 2008 Vanessa Gardellin & Sara Lioba Volpi

Page 51: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

51

Esercizio (1/2)

1. Creare una cartella temp nella propria home.

2. Entrare nella cartella appena creata.

3. Creare due sottocartelle:

1. Sorgente,

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 51

1. Sorgente,

2. sottolivello/destinazione.

4. Creare nella cartella sorgentesorgentesorgentesorgente un file di nome esempioesempioesempioesempio contenente la riga “contenutocontenutocontenutocontenuto” (usare il comando echo).

5. Aggiungere al file di nome esempio la riga “aggiunta” (usare il comando echo).

Page 52: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

52

Esercizio (2/2)

6. Creare nella cartella sorgente un file di nome elenco contenente l’elenco dei file e delle cartelle presenti nella root (/).

7. Creare nella cartella sottolivello/destinazione il file

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 52

7. Creare nella cartella sottolivello/destinazione il file concat prodotto dalla concatenazione dei file esempio ed elenco.

8. Visualizzare con il comando less le ultime tre righe del file concat (usare il comando tail).

9. Cancellare la cartella temp e il suo contenuto.

Page 53: Esercitazione1 [modalit compatibilit ]for.unipi.it/fabio_del_vigna/files/2016/09/Esercitazione...2 Informazioni Generali (1/2) Ricevimento su appuntamento (tramite e-mail). E-mail

53

Soluzione

1. cd ~

2. mkdir temp

3. cd temp1. mkdir sorgente

2. mkdir -p sottolivello/destinazione

4. echo “contenuto” > sorgente/esempio

© 2008 Vanessa Gardellin & Sara Lioba VolpiEsercitazione 1 53

4. echo “contenuto” > sorgente/esempio

5. echo “aggiunta” >> sorgente/esempio

6. ls / > sorgente/elenco

7. cat sorgente/esempio sorgente/elenco > sottolivello/destinazione/concat

8. tail -n 3 sottolivello/destinazione/concat | less

9. cd ..

10. rm -rf temp