Introduzione a Unix - Dipartimento di...

49
Introduzione al calcolatore Introduzione a Unix Esercitazione Introduzione a Unix Programmazione 1 e Laboratorio a.a. 2013/2014 Introduzione a Unix

Transcript of Introduzione a Unix - Dipartimento di...

Page 1: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Introduzione a Unix

Programmazione 1 e Laboratorioa.a. 2013/2014

Introduzione a Unix

Page 2: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 3: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Struttura di un calcolatore

Nei calcolatori distinguiamo due componenti fondamentali:

Hardware costituito dalla parte elettronica (ad esempio circuitiintegrati) e meccanica (ad esempio bracci chespostano le testine del disco);

Software costituito dall’insieme dei programmi che permettonodi usare un calcolatore.

Introduzione a Unix

Page 4: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Architettura hardware di un calcolatore

Un computer e composto da un numero di elementi interagenti

1. Video (Display) 2. Scheda madre (Motherboard) 3. CPU (Microprocessore) 4.

RAM (Memoria Primaria) 5. Schede di espansione (grafica, rete, etc.) 6.

Alimentatore 7. CD/DVD 8. Drive 9. HD (Memoria secondaria) 10. Tastiera Mouse

Introduzione a Unix

Page 5: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

I programmi (software)

I programmi servono per fare funzionare l’hardware (parte fisica)del computer.

Informalmente, un programma puo essere definito come una seriedi operazione elementari che il calcolatore esegue in sequenza,trasformando un insieme di dati di ingresso (INPUT) in un insiemedi dati di uscita (OUTPUT).

L’insieme dei programmi (es. Word Processor, browser perInternet, etc.) e dei dati presenti sul calcolatore ne costituiscono ilsoftware (parte logica).

In un calcolatore si distinguono vari strati di software:

il sistema operativo (come Linux, Windows, Mac Os, ...)

le applicazioni (come editori di testo, sistemi di gestione dibasi di dati, giochi,...)

Introduzione a Unix

Page 6: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Il sistema operativo

Un Sistema Operativo e un particolare programma che agisce daintermediario fra utente e hardware di un computer.

Il sistema operativo (S.O.) gestisce:

le risorse del computer (CPU, memorie, ecc.)

le periferiche

le applicazioni

Il sistema operativo si colloca fra l’hardware e il softwareapplicativo permettendo ai programmi applicativi di poterinteragire con le risorse hardware.

Introduzione a Unix

Page 7: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 8: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 9: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Storia di Unix (1)

Il primo sistema Unix fu sviluppato nei laboratori Bell AT&T allafine degli anni Sessanta (1 Gennaio 1970). Unix fu progettato conle seguenti caratteristiche:

ambiente di programmazione;

semplice interfaccia utente;

semplici utility che possono essere combinate per realizzarepotenti funzioni;

file system gerarchico (ad albero);

semplice interfacciamento con i dispositivi;

sistema multi-utente e multi-processo, nel quale piu utentipossono collegarsi ed eseguire processi contemporaneamente;

architettura indipendente e trasparente all’utente.

Introduzione a Unix

Page 10: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Storia di Unix (2)

Nel 1973 Unix e riscritto prevalentemente in C, linguaggio diprogrammazione ad alto livello sviluppato da Dennis Ritchie.

Dal 1974 Unix si diffonde prevalentemente in campoaccademico grazie ad una licenza stipulata con le Universitaper scopi educativi.

Come arriviamo a Linux? Richard Stallman nel 1980 circa,inizio a scrivere un sistema operativo chiamato GNU (GNU’sNot Unix). Nel 1991 lo studente finlandese Linus Torvalds,creo un kernel e lo chiamo Linux. Il kernel Linux venneinserito dentro GNU dando vita cosı al sistema operativolibero GNU/Linux, piu conosciuto come Linux.

Introduzione a Unix

Page 11: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 12: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Unix in generale

Unix e un sistema operativo a strati;

Tutte le informazioni sono organizzate in file;

Il file system e una disposizione gerarchica di file e directory(cartelle) in cui livello piu alto e la root (o radice);

I programmi utente interagiscono con il kernel attraverso unset di system call standard.

Introduzione a Unix

Page 13: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

La Shell

Programma che fornisce un interfaccia testuale allefunzionalita del sistema

Legge i comandi digitati dall’utente e li esegue

Introduzione a Unix

Page 14: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 15: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Il filesystem

Un file system e il meccanismo fornito dal sistema operativo cheregola l’organizzazione fisica e logica delle informazioni.

In Unix, il file system e paragonabile alla struttura rovesciata di unalbero (in realta e un grafo).

A differenza di Windows, non esiste il concetto di “disco”. Laradice del filesystem presente su un disco viene connessa all’unicofilesystem presente sul sistema diventando sottodirectory di unadirectory presente.

Introduzione a Unix

Page 16: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Il filesystem

Directory di sistema che si ritrovano in tutti i sistemi Unix-like:

bin: file eseguibili tipicamente da tutti gli utenti;

dev:file speciali associati ai device;

etc: file di configurazione;

home: directory che contiene le home directory degli utenti;

sbin: file eseguibili tipicamente dall’amministratore di sistema;

tmp: utilizzata per la memorizzazione di file temporanei dallaquasi totalita delle applicazioni di sistema;

var: utilizzata per il logging e lo spooling.

Introduzione a Unix

Page 17: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Il filesystemFile & directory

Ogni nodo dell’albero e o un file o una directory di file, dovequest’ultima puo contenere altri file e directory.

Un file e una sequenza non strutturata di bytes (unita logicadi memorizzazione);

Una directory e un file che indicizza altri file.

Un file e indicato da un path name ed ha i seguenti attributi:tipo, permessi (diritti di accesso), nome utente proprietario, nomegruppo proprietario, dimensione, data di creazione, ultimamodifica, ultimo accesso.

Il path name di un file o di una directory puo essere assoluto,riferito alla radice della gerarchia ( / ), oppure relativo, riferitoalla posizione dell’utente nel file system.

Introduzione a Unix

Page 18: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Path assoluti/relativiEsempio

NOME ASSOLUTO: /home/web/READMENOME RELATIVO: ../web/README

Introduzione a Unix

Page 19: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 20: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Tante shell

I sistemi Unix offrono diverse shell:

sh: Bourne shell. La shell presente sui primi sistemi Unix.

bash: shell di default per gli utenti Linux. Estende sh, e ingenere, gli script di questa funzionano in bash, mentre NON evero il viceversa. E la shell di riferimento in questo corso.

csh: La sintassi ricorda quella del linguaggio C. Richiesta, inalcuni casi, espressamente da programmatori.

tcsh: “Turbo” csh. Estende csh rendendola piu“user-friendly”.

dash: Debian Almquist shell. Una shell molto compatta usatain Debian e Ubuntu

Il file /etc/shells contiene l’elenco delle shell installatedall’amministratore e disponibili a tutti gli utenti.

Introduzione a Unix

Page 21: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Perche usare una shell testuale?

Potenza e semplicita: I comandi UNIX sono progettati perrisolvere problemi specifici. Sono semplici (senza menu eopzioni nascoste) e proprio per questo potenti (ad esempiogrep parola filename).

Velocita e flessibilita: e piu veloce scrivere pochi caratterida tastiera piuttosto che cercare un programma opportuno eusare le operazioni che fornisce sulla base delle propriespecifiche esigenze.

Accessibilita: permette di accedere efficientemente ad unsistema in remoto.

Introduzione a Unix

Page 22: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sintassi dei comandi Unix

La sintassi tipica dei comandi UNIX e la seguente

comando <opzioni> <argomenti>

ogni comando richiede al nucleo l’esecuzione di unaparticolare azione

i comandi esistono nel file system come file binari,generalmente eseguibili da tutti gli utenti

<opzioni> sono facoltative e influiscono sul funzionamento delcomando. Generalmente consistono nel simbolo del “-” seguito dauna sola lettera.<argomenti> si possono avere piu argomenti o anche nessuno.

Introduzione a Unix

Page 23: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Ulteriori informazioni sulla shell

funzione di autocompletamento (tasto TAB)

history (freccia SU/GIU)

Attenzione

i filesystem Unix-like sono case sensitive: maiuscole e minuscolesono importanti

Esempio

file1, File1, FILE1, FiLe1 sono tutti file diversi

Introduzione a Unix

Page 24: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 25: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Navigare nel filesystem

cd [<dir>] serve per muoversi attraverso le directory.

Il parametro <dir> e opzionale — se non viene indicato, ilcomando porta nella home directory.

Esempio

posizione del documento:/home/user/documenti/personali/lezione1.txt

cartella corrente: /home/user

per portarsi nella directory che contiene il documento, usarecd documenti/personali

per la navigazione risultano utili le directory: “.” (workingdirectory), “..” (directory padre) e “˜” (directory home).

Introduzione a Unix

Page 26: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Visualizzare il contenuto di una directory

ls [-alsFR] [<dir1> ... <dirN>]

Se non viene specifica alcuna directory, ci si riferisce alla corrente

Alcune opzioni:-a visualizza anche i file nascosti (il loro nome inizia per “.”)-l visualizza informazione estesa sui file-s visualizza la dimensione in bytes-F aggiunge al nome del file un carattere finale che denota il tipo-R visualizza ricorsivamente le sottodirectory

Introduzione a Unix

Page 27: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Eliminazione di file

rm [-rif] <file1> ... <fileN>

Opzioni:-r <dir> cancella la directory con il suo contenuto-i prima di cancella il file chiede conferma all’utente-f cancella senza chiedere conferma

Introduzione a Unix

Page 28: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Visualizzare il contenuto di un file

cat [-nve] <file1> ... <fileN>

Opzioni:-n precede ogni linea con un numero-v visualizza i caratteri non stampabili (eccetto newline, tab eform-feed)-e visualizza $ alla fine di ogni linea (quando usato insieme conl’opzione -v)

cat file1 file2 file3 concatena il contenuto dei fileseguendo lo stesso ordine di immissione e ne mostrera il contenuto

altri comandi: more <file>, less <file>, pg <file>permettono di visualizzare il contenuto di <file> poco per volta

Introduzione a Unix

Page 29: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Creare una directory

mkdir [-p] <dir1> ... <dirN>

I parametri dir indicano i nomi delle directory da creare comepathname assoluti o relativi.Opzioni:-p crea eventuali directory intermedie presenti nei parametri dir.

Esempio

mkdir temp — crea directory temp nella directory corrente

mkdir -p documenti/personali — crea le directorypersonali dentro la directory documenti (sedocumenti non esiste viene creata)

Introduzione a Unix

Page 30: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Eliminare una directory (vuota)

rmdir [-p] <dir1> ... <dirN>

I parametri dir indicano i nomi delle directory da eliminare comepathname assoluti o relativi.Opzioni:-p elimina eventuali directory intermedie presenti nei parametridir.

Esempio

rmdir temp — elimina la directory temp se e vuota

mkdir -p documenti/personali — elimina ledirectory personali e documenti, se entrambe vuote

Introduzione a Unix

Page 31: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Copiare file

cp [-if] <file1> <file2>

copia file1 in file2 — se file2 esiste viene sovrascritto

cp [-if] <file1> ... <fileN> <dir>

copia i file nella directory dir — se un file esiste vienesovrascritto

Opzioni:-i chiede conferma prima di sovrascrivere-f non chiede conferma prima di sovrascrivere

Introduzione a Unix

Page 32: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Spostare file

mv [-if] <file1> <file2>

sposta file1 in file2 — se file2 esiste viene sovrascritto

mv [-if] <file1> ... <fileN> <dir>

sposta i file nella directory dir — se un file esiste vienesovrascritto

Opzioni:-i chiede conferma prima di sovrascrivere-f non chiede conferma prima di sovrascrivere

Introduzione a Unix

Page 33: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

I metacaratteri (wildcards)

La shell Unix riconosce alcuni caratteri speciali, chiamatimetacaratteri, che possono comparire nei comandi.I piu comuni:

? qualunque carattere

* qualunque sequenza di caratteri

Esempio

Supponiamo di voler copiare tutti i file .html di una directorynella sotto-directory html-src. Usando la wildcard * (asterisco)si puo scrivere semplicemente:

cp *.html html-src

Introduzione a Unix

Page 34: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Nomi di file e convenzioni

Esistono precise regole che stabiliscono i nomi con cui possonovenire chiamati file e cartelle

Nomi con caratteri come /, *, & e % devono essere evitati perevitare possibili errori di sistema

Anche utilizzare nomi composti da parole divise da spazi non euna buona abitudine

Nominare file o cartelle usando solo caratteri alfanumerici,lettere e numeri, uniti insieme da (underscore) e . (punti)

Introduzione a Unix

Page 35: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Il comando echo

Il comando echo stampa sullo schermo ogni parametro

Esempi

$ echo Ciao!Ciao!

$ lsdata-new data1 data2 inittab esempio1.txt

$ echo data*data-new data1 data2

$ echo data?data1 data2

Introduzione a Unix

Page 36: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Redirezione

Di default i comandi Unix prendono l’input da tastiera (standardinput - stdin) e mandano l’output ed eventuali messaggi di erroresu video (standard output - stdout, standard error - stderr).L’input/output in Unix puo essere rediretto da/verso file,utilizzando opportuni metacaratteri:

Metacarattere Significato> ridirezione dell’output

>> ridirezione dell’output (append)

< ridirezione dell’input

<< ridirezione dell’input dalla linea di comando

Introduzione a Unix

Page 37: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Redirezione — Esempi

$ echo pippo Topolino > file.txt

$ cat file.txtpippo Topolino

$ echo e anche Minnie >> file.txt

$ cat file.txtpippo Topolino e anche Minnie

$ cat list1 list2 > biglist$ sort biglist > sortbiglist

Introduzione a Unix

Page 38: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Pipe

Il metacarattere “|” (pipe) serve per comporre n comandi “incascata” in modo che l’output di ciascuno sia fornito in input alsuccessivo. L’output dell’ultimo comando e l’output della pipeline.

command1 | command2 — l’output dell’esecuzione del primocomando viene passato come input del secondo comando

Esempio

ls | more

visualizza l’output di ls una pagina per volta

Introduzione a Unix

Page 39: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Documentazione dei comandi

man comando: mostra la pagina del manuale di comando,con istruzioni sull’uso e sulle opzioni disponibilies. man man

man -k word: ricerca le descrizioni di pagine di manualeche contengono “word”. es man -k printf

apropos word: cerca la stringa ’word’ nelle pagine dimanuale di tutti i comandi Unix. Utile per trovare il nomeesatto di un comando che compie l’azione ’word’

whatis comando: descrive la funzione di comando.

comando --help

Introduzione a Unix

Page 40: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Altri comandi utili (1)

pwd (print working directory) — visualizza il percorsoassoluto della directory corrente

head — visualizza le prime linee di un file di testoes. head -10 esempio.txt — visualizza le prime 10righe di esempio.txt

tail — visualizza le ultime linee di un file di testoes. tail -10 esempio.txt — visualizza le ultime 10righe di esempio.txt

sort — ordine le linee di un file di testo lessicograficamentees. sort esempio.txt — ordina le righe diesempio.txt

Introduzione a Unix

Page 41: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Storia di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

Altri comandi utili (2)

quota — mostra lo spazio su disco che si ha a disposizione el’occupazione attuale

gzip/gunzip — compressione/decompressione di filees. gzip esempio.txt — ottengo il file compressoesempio.txt.gz

bzip2/bunzip2 — compressione/decompressione di file

tar — creazione/estrazione da archivi

zip/unzip e rar/unrar — creazione e estrazione diarchivi compressi

file <nome> — visualizza il tipo del file <nome>es. file lezione1.pdf — stampalezione1.pdf: PDF document, version X.X

Introduzione a Unix

Page 42: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Sommario

1 Introduzione al calcolatore

2 Introduzione a UnixStoria di UnixStruttura di UnixStruttura del filesystemLa shellI comandi Unix

3 Esercitazione

Introduzione a Unix

Page 43: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 1

A partire dalla vostra home directory, creare una cartella temp

Entrare nella cartella appena creata

Creare due sottocartelle sorgente e come sottolivello,destinazione (destinazione sara una sottodirectory disorgente)

Creare nella cartella sorgente un file di nome esempio.txt

Editare il file con gedit e scrivere all’interno del file la riga“contenuto”

Controllare da shell il percorso assoluto della cartella corrente(sorgente) e scriverlo nel file

Introduzione a Unix

Page 44: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 2

Posizionatevi (se non ci siete gia) all’interno della cartellasorgente

Cancellate il file esempio.txt creato durante l’esercizioprecedente (attenzione il file non e vuoto)

Create un nuovo file di testo lista1.txt ed inseriteall’interno 5 nomi di amici

Create un nuovo file di test lista2.txt ed inseriteall’interno 5 nomi di amici

Muovi il file lista1.txt dalla cartella sorgente allacartella destinazione

Copia il file lista2.txt dalla cartella sorgente allacartella destinazione

Introduzione a Unix

Page 45: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 3

Posizionatevi all’interno della cartella destinazione

Visualizzate tutti i file contenuti nella directory corrente

Concatenare i due file e visualizzare il risultato

Introduzione a Unix

Page 46: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 4

Posizionandovi nella vostra home directory

Create una nuova sottodirectory chiamata num utili ecopiateci il file di testo rubrica.txt che trovate sullapagina del corso.

Editare il file con gedit in modo da cancellare tutte le righeche non contengono informazioni utili (es. righe vuote, righedi asterischi,....)

Stampare a video il contenuto del file rubrica.txt

Provate ad usare tutti e tre i comandi a vostra disposizioneper questo, pg, more e less

Stampate ora a video il contenuto ordinato del file

Introduzione a Unix

Page 47: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 5

Ordinate il file rubrica.txt dell’esercizio precedentesalvando il suo contenuto nel file rubricaOrd.txt

Visualizzate le prime 5 linee del file appena creato

Create un nuovo file rubrica1.txt che contiene le prime 5linee di rubricaOrd.txt seguite dalle ultime 5, usandoesclusivamente i comandi visti in precedenza

Introduzione a Unix

Page 48: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 6

Comprimete il file rubrica1.txt dell’esercizio precedenteusando il comando gzip

ha creato un nuovo file?dov’e il file originale?

Visualizzate le informazioni del file compresso usando ilcomando file

Decomprimete il file compresso usando il comando gunzip

Introduzione a Unix

Page 49: Introduzione a Unix - Dipartimento di Informaticapages.di.unipi.it/gadducci/PR1L-13/shell/introUnix.pdf · 2013. 12. 7. · Introduzione a Unix Esercitazione Il sistema operativo

Introduzione al calcolatoreIntroduzione a Unix

Esercitazione

Esercizio 7

Leggete la pagina del manuale relativa ai comandi whoami,du e df.

Cosa fanno questi comandi?Andate nella vostra home e lanciate du -hd 1. Cosasignificano le opzioni h e d? Cosa e 1 in questo caso?

Leggete la pagina del manuale relativa al comando cal. Cosafa questo comando?

cosa vuol dire l’opzione -j?e l’opzione -h?

Visualizzate la pagina del manuale del comando tar percapire come creare l’archivio compresso rubrica.tar.gzcontenente i file rubrica.txt, rubrica1.txt erubricaOrd.txt dell’esercizio 5.

Introduzione a Unix