ESERCITAZIONE 7
Realizzare uno script che passato come parametro un indirizzo ip e/o una subnet mask visualizzi informazioni sul tipo di ip immesso
OBIETTIVI DISCIPLINARI
- saper manipolare le stringhe
- conoscere il comando bc
PROCEDIMENTO / SPECIFICHE INIZIALI
- usare le convenzioni di scrittura codice
ip1=10 echo "obase=2;$ip1" | bc
IP=010.010.001.100 echo "IP=$IP, len IP=${#IP}" IP_OTT1=${IP:0:3} echo "Il primo ottetto è =$IP_OTT1"
[2 punti] - relazione: premesse teoriche/specifiche (manipolazione stringhe, pipe)
[1 punti] - relazione: diagrammi di flusso
[5 punti] - script (corrispondenza con il D.F.)
[1 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[1 punti] - relazione: collaudo
RIFERIMENTI / LINK
http://tldp.org/LDP/abs/html/string-manipulation.html
https://www.gnu.org/software/bc/manual/html_mono/bc.html
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 6
Realizzare uno script che in caso di mancata connessione alla rete Internet visualizzi un messaggio di errore.
OBIETTIVI DISCIPLINARI
- utilizzo del comando ping
- utilizzo dell' exit status
- ridirezione dei flussi e descrittori dei file
- espansione di comando
PROCEDIMENTO / SPECIFICHE INIZIALI
- l'output del comando ping (STDIN e STDOUT) deve essere reindirizzato su /dev/null
- usare le convenzioni di scrittura codice
- consegnare la relazione tecnica
GRIGLIA DI VALUTAZIONE:
[2 punti] - relazione: premesse teoriche/specifiche (ping, exit status, ridirezione)
[1 punti] - relazione: diagrammi di flusso
[5 punti] - script (corrispondenza con il D.F.)
[1 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[1 punti] - relazione: collaudo
- ridirezione dei flussi e descrittori dei file
- espansione di comando
PROCEDIMENTO / SPECIFICHE INIZIALI
- l'output del comando ping (STDIN e STDOUT) deve essere reindirizzato su /dev/null
- usare le convenzioni di scrittura codice
- consegnare la relazione tecnica
GRIGLIA DI VALUTAZIONE:
[2 punti] - relazione: premesse teoriche/specifiche (ping, exit status, ridirezione)
[1 punti] - relazione: diagrammi di flusso
[5 punti] - script (corrispondenza con il D.F.)
[1 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[1 punti] - relazione: collaudo
RIFERIMENTI / LINK
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf#page=47
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf#page=58
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf#page=69
http://www.pluto.it/files/ildp/guide/abs/io-redirection.html
http://www.coresis.com/extra/linuxcorsobase/6-2.htm
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf#page=47
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf#page=58
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf#page=69
http://www.pluto.it/files/ildp/guide/abs/io-redirection.html
http://www.coresis.com/extra/linuxcorsobase/6-2.htm
ESERCITAZIONE 5
Realizzare uno script che esegua delle operazione matematiche con tutti gli argomenti passati allo script.
OBIETTIVI DISCIPLINARI
- passaggio di parametri
- utilizzo del costrutto while
- trovare un algoritmo che risolva il problema proposto
- realizzare diagrammi di flusso corretti
PROCEDIMENTO / SPECIFICHE INIZIALI
- l'utente richiamerà lo script con un numero variabile di argomenti (minimo 3 massimo a piacere). Il primo argomento sarà obbligatorio e sarà o "+" o "*"; gli altri argomenti saranno i numeri ai quali applicare l'operazione
- realizzare il diagramma di flusso dello script e caricarlo sulla Raspberry PI
- caricare nella propria home directory lo script realizzato (creare la sottocartella es5).
- consegnare la relazione tecnica tecnica (in formato pdf e caricata sulla RaspberryPI)
- per avere una valutazione sufficiente è necessario consegnare: relazione; diagramma di flusso e codice
GRIGLIA DI VALUTAZIONE:
[1 punti] - relazione: premesse teoriche/specifiche
[3 punti] - relazione: diagrammi di flusso
[4 punti] - script (corrispondenza con il D.F.)
[1 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[1 punti] - relazione: collaudo
- realizzare diagrammi di flusso corretti
- l'utente richiamerà lo script con un numero variabile di argomenti (minimo 3 massimo a piacere). Il primo argomento sarà obbligatorio e sarà o "+" o "*"; gli altri argomenti saranno i numeri ai quali applicare l'operazione
- realizzare il diagramma di flusso dello script e caricarlo sulla Raspberry PI
- caricare nella propria home directory lo script realizzato (creare la sottocartella es5).
- consegnare la relazione tecnica tecnica (in formato pdf e caricata sulla RaspberryPI)
- per avere una valutazione sufficiente è necessario consegnare: relazione; diagramma di flusso e codice
GRIGLIA DI VALUTAZIONE:
[1 punti] - relazione: premesse teoriche/specifiche
[3 punti] - relazione: diagrammi di flusso
[4 punti] - script (corrispondenza con il D.F.)
[1 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[1 punti] - relazione: collaudo
RIFERIMENTI / LINK
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
https://www.draw.io/
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 4
Realizzare uno script che esegua delle operazione matematiche con gli argomenti passati allo script.
OBIETTIVI DISCIPLINARI
- passaggio di parametri agli script
- trovare un algoritmo che risolva il problema proposto
- realizzare diagrammi di flusso corretti
PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare la relazione tecnica tecnica (in formato pdf e caricata sulla RaspberryPI)
- per avere una valutazione sufficiente è necessario consegnare: relazione; diagramma di flusso e codice
- l'utente richiamerà lo script con un tre parametri obbligatori. Il primo sarà l'operatore e gli altri due gli operandi
- realizzare il diagramma di flusso dello script e caricarlo sulla Raspberry PI
- caricare nella propria home directory lo script realizzato (creare la sottocartella es4).
- realizzare diagrammi di flusso corretti
- consegnare la relazione tecnica tecnica (in formato pdf e caricata sulla RaspberryPI)
- per avere una valutazione sufficiente è necessario consegnare: relazione; diagramma di flusso e codice
- l'utente richiamerà lo script con un tre parametri obbligatori. Il primo sarà l'operatore e gli altri due gli operandi
- realizzare il diagramma di flusso dello script e caricarlo sulla Raspberry PI
- caricare nella propria home directory lo script realizzato (creare la sottocartella es4).
RIFERIMENTI / LINK
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
Realizzare uno script che dopo aver chiesto all'utente due numeri e un operatore matematico, esegua l'operazione e visualizzi il risultato
OBIETTIVI DISCIPLINARI
- trovare un algoritmo che risolva il problema proposto- realizzare diagrammi di flusso corretti
- il costrutto bash IF-ELIF:
- imparare i seguenti costrutti/istruzioni bash:
. espansione aritmetica
. comando let
PROCEDIMENTO / SPECIFICHE INIZIALI
- definire almeno tre operazioni matematiche
- creare nella propria home directory la cartella esercizio3
- realizzare due versioni di codice e diagrammi di flusso: uno utilizzando il costrutto IF-ELIF e l'altro utilizzando i costrutti IF-THEN-ELSE nidificati
- disegnare su www.draw.io un diagramma di flusso ed esportarlo in png (with embedded xml), usando il comandi dowload as
- eventualmente cercare altri sw di disegno che permettano di disegnare meglio i costrutti (es. il connettore dell'if)
- fare l'upload dei due file precedentemente creati nella propria home/esercizio3
- rispettare le convenzioni per la scrittura di codice nel linguaggio di scripting Bash definite
- perfetta corrispondenza tra flowchart e script
RIFERIMENTI / LINK
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 2http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
Realizzare uno script che dopo aver chiesto all'utente nome e orario, visualizzi un messaggio conseguente. Es. buongiorno Mario, buona notte Mario, ecc.
OBIETTIVI DISCIPLINARI
- trovare un algoritmo che risolva il problema proposto
- realizzare diagrammi di flusso corretti
- imparare i seguenti costrutti/istruzioni bash:
. assegnazione e utilizzo variabili
. istruzione test
. costrutto if
. echo
. istruzione read
- rispettare le convenzioni per la scrittura di codice nel linguaggio di scripting Bash definite
- perfetta corrispondenza tra flowchart e script
SPECIFICHE INIZIALI
- definire almeno tre fasce orarie: mattina, giorno e notte
- la notte è definita per gli orari compresi tra le 22.00 e le 04.00
- creare nella propria home directory la cartella esercizio2
- disegnare un diagramma di flusso ed esportarlo sia in xml che in png, usando i comandi salva con nome e dowload as
- fare l'upload dei due file precedentemente creati nella propria home/esercizio1
RIFERIMENTI / LINK
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
http://linux.about.com/library/cmd/blcmdl1_test.htm
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 1http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/
http://linux.about.com/library/cmd/blcmdl1_test.htm
https://www.draw.io/
------------------------------------------------------------------------------------------------------------
Creare un'utenza sulla RasperryPI in modo da poter lavorare individualmente sul server:
OBIETTIVI DISCIPLINARI
- conoscenza delle istruzioni per la gestione degli utenti
- conoscenza delle istruzioni per la gestione delle permission
PROCEDIMENTO / SPECIFICHE INIZIALI- collegarsi alla raspberry usando il software MobaXterm e autenticarsi come utente root
- il nome utente deve essere cognome.nome
- creare la propria utenza usando il comando interattivo
#adduser cognome.nome --force-badname
- in caso di errore eliminare l'utenza creata con il comando #userdel
- usare il comando passwd cognome.nome per cambiare successivamente le password dell'utente
#passwd cognome.nome
- verificare il corretto completamento dell'esercizio provando i seguenti comandi
#cat /etc/passwd # l'utente creato è stato aggiunto al database utenti
#cat /etc/shadow
#cat /etc/shadow-
#cat /etc/gshadow
#cat /etc/group#login cognome.nome # l'account è operativo
$ls -l /home # la homedirectory è stata creata correttamente con le
# relative permission
$who # vediamo l'elenco di tutti gli utenti connessi al server
$sudo chgrp -R -v www-data /home
$sudo chmod g+wxr -R /home/
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.tecmint.com/add-users-in-linux/
http://www.pluto.it/files/ildp/guide/abs/system.html
------------------------------------------------------------------------------------------------------------
4 - Operare sui file
- I comandi: mkdir, rmdir, rm, cp, mv, cmp
- I comandi: touch, echo, cat, [more, tail, head, less]
- l' editor vi
- I comandi: find, grep, cut, [wc, eval, sort]
QUIZ DI AUTOVALUTAZIONE
[PUNTI 3 - ISTRUZIONE di visualizzazione su std output, ISTRUZIONE di lettura da std input, ESPANSIONE DI VARIABILE]
2) visualizzare il messaggio "Inserisci un numero"; leggere da standard input il valore immesso dall'utente; visualizzarne il valore su standard output
[PUNTI 2 – ISTRUZIONE ____, PIPE]
3) cercare all'interno del file "comandi.txt" il comando RUN ed estrarre il campo che si trova dalla colonna 20 a 45
[PUNTI 1 – ISTRUZIONE ___]
5) recuperare l'intervallo di colonne tra 10 e 20 del file "comandi.txt"
[]
9) Copiare nella home directory di root il file elenco.txt che si trova nella home directory dell'utente mrossi
------------------------------------------------------------------------------------------------------------
3 - Esplorare il filesystem
- Organizzazione del filesystem
- percorsi assoluti e relativi
- le cartelle principali di linux: /bin, /etc, /home, ...
- I comandi: cd, ls, pwd
[- df, mount, unmount, tar, gzip, bzip2]
QUIZ DI AUTOVALUTAZIONE
1) con quale carattere inizia un percorso assoluto
2) descrivere il comando pwd
3) cosa fa il comando cd ..
4) con quale comando è possibile visualizzare l'elenco dei file presenti nella working directory in formato esteso
------------------------------------------------------------------------------------------------------------
2 - La shell, i file e le directory
- La shell di Linux "bash"
- Le scorciatoie della shell: freccia su, down, tab
- il prompt
- I comandi: man, history, echo
RIFERIMENTI
http://www.di.unipi.it/~mezzetti/data/uploads/unix-shell.pdf
APPROFONDIMENTI
http://www.dmi.unict.it/diraimondo/web/wp-content/uploads/classes/so/1011/SO-lab-unix-shell-print.pdf
http://lia.deis.unibo.it/Courses/sola0708-info/lucidi/6-fileComandi%282x%29.pdf
http://www.cs.unibo.it/~montreso/so/lucidi/lso-03-shell-4p.pdf
http://webcen.di.unimi.it/2002-03/comdig/laboratorio_informatica_generale1/files/278024.Lab02-Linux.pdf
http://www2.unipr.it/~dalpalu/corsi/soinf/Lezione%201.pdf
QUIZ DI AUTOVALUTAZIONE
1) quali sono gli elementi del prompt
2) Che cosa è la Shell? (segnare più risposte corrette)
------------------------------------------------------------------------------------------------------------
1 - Virtualizzazione, Introduzione a Linux
- La virtualizzazione
- Introduzione ai Sistemi Operativi
- Introduzione al sistema operativo Linux
- Il kernel di Linux
- Le distribuzioni di Linux
- Creazione della macchina virtuale con il sw VirtualBox e avvio di Debian (Live, i386, ver 7.60, LXDE, immagine ISO)
- Installazione di Debian
- elementi principali dell'ambiente desktop: lxterminal, leafpad
RIFERIMENTI
http://it.wikipedia.org/wiki/Linux_%28kernel
http://it.wikipedia.org/wiki/Distribuzione_Linux
https://www.virtualbox.org/
https://www.debian.org/
http://www.dis.uniroma1.it/~salza/SO/SO-I-1p.pdf
APPROFONDIMENTI
http://lia.deis.unibo.it/Courses/sola0708-info/lucidi/1-Intro%282x%29.pdf
http://www.dis.uniroma1.it/~salza/SO.htm
------------------------------------------------------------------------------------------------------------
Data di pubblicazione iniziale 29 ott 2014
- I comandi: touch, echo, cat, [more, tail, head, less]
- l' editor vi
- I comandi: find, grep, cut, [wc, eval, sort]
QUIZ DI AUTOVALUTAZIONE
[PUNTI 3 - ISTRUZIONE di visualizzazione su std output, ISTRUZIONE di lettura da std input, ESPANSIONE DI VARIABILE]
2) visualizzare il messaggio "Inserisci un numero"; leggere da standard input il valore immesso dall'utente; visualizzarne il valore su standard output
[PUNTI 2 – ISTRUZIONE ____, PIPE]
3) cercare all'interno del file "comandi.txt" il comando RUN ed estrarre il campo che si trova dalla colonna 20 a 45
[PUNTI 1 – ISTRUZIONE ___]
5) recuperare l'intervallo di colonne tra 10 e 20 del file "comandi.txt"
[]
9) Copiare nella home directory di root il file elenco.txt che si trova nella home directory dell'utente mrossi
------------------------------------------------------------------------------------------------------------
3 - Esplorare il filesystem
- Organizzazione del filesystem
- percorsi assoluti e relativi
- le cartelle principali di linux: /bin, /etc, /home, ...
- I comandi: cd, ls, pwd
[- df, mount, unmount, tar, gzip, bzip2]
QUIZ DI AUTOVALUTAZIONE
1) con quale carattere inizia un percorso assoluto
2) descrivere il comando pwd
3) cosa fa il comando cd ..
4) con quale comando è possibile visualizzare l'elenco dei file presenti nella working directory in formato esteso
------------------------------------------------------------------------------------------------------------
2 - La shell, i file e le directory
- La shell di Linux "bash"
- Le scorciatoie della shell: freccia su, down, tab
- il prompt
- I comandi: man, history, echo
RIFERIMENTI
http://www.di.unipi.it/~mezzetti/data/uploads/unix-shell.pdf
APPROFONDIMENTI
http://www.dmi.unict.it/diraimondo/web/wp-content/uploads/classes/so/1011/SO-lab-unix-shell-print.pdf
http://lia.deis.unibo.it/Courses/sola0708-info/lucidi/6-fileComandi%282x%29.pdf
http://www.cs.unibo.it/~montreso/so/lucidi/lso-03-shell-4p.pdf
http://webcen.di.unimi.it/2002-03/comdig/laboratorio_informatica_generale1/files/278024.Lab02-Linux.pdf
http://www2.unipr.it/~dalpalu/corsi/soinf/Lezione%201.pdf
QUIZ DI AUTOVALUTAZIONE
1) quali sono gli elementi del prompt
2) Che cosa è la Shell? (segnare più risposte corrette)
a) Interfaccia
(testuale) tramite la quale l’utente interagisce con il sistema dopo il login.
b) È
un interprete di comandi: legge ciascuna linea di comando, ne interpreta le
diverse componenti e la esegue.
c) ---
d) Su
linux è possibile utilizzare un solo tipo di shell
3) Qual'è
la sintassi tipica dei comandi Linux (domanda aperta)
4) Che
effetto ha la pressione del carattere di controllo "Ctrl-c" su un
programma in esecuzione (domanda aperta)
5) Che
effetto ha la pressione del carattere di controllo "Ctrl-d" su un
programma in esecuzione (domanda aperta)
6) Per
cosa viene utilizzato il tasto Tab all'interno della shell (domanda aperta)
------------------------------------------------------------------------------------------------------------
1 - Virtualizzazione, Introduzione a Linux
- La virtualizzazione
- Introduzione ai Sistemi Operativi
- Introduzione al sistema operativo Linux
- Il kernel di Linux
- Le distribuzioni di Linux
- Creazione della macchina virtuale con il sw VirtualBox e avvio di Debian (Live, i386, ver 7.60, LXDE, immagine ISO)
- Installazione di Debian
- elementi principali dell'ambiente desktop: lxterminal, leafpad
RIFERIMENTI
http://it.wikipedia.org/wiki/Linux_%28kernel
http://it.wikipedia.org/wiki/Distribuzione_Linux
https://www.virtualbox.org/
https://www.debian.org/
http://www.dis.uniroma1.it/~salza/SO/SO-I-1p.pdf
APPROFONDIMENTI
http://lia.deis.unibo.it/Courses/sola0708-info/lucidi/1-Intro%282x%29.pdf
http://www.dis.uniroma1.it/~salza/SO.htm
------------------------------------------------------------------------------------------------------------
Data di pubblicazione iniziale 29 ott 2014
Nessun commento:
Posta un commento