Master: Amministratore Linux - Livello Base
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Videocorso in italiano su Udemy!
https://www.udemy.com/corso-linux-per-sviluppatori-web-lamp-apache-php-mysql/?couponCode=SLIDES10
- Installare un server linux
- Lavorare con la linea di comando
- Gestione gruppi, utenti e permessi
- Bash scripting
- Espressioni regolari
- Apache, NGnix &Https
- Installare PHP & MySql
- Cron e crontab
Con un approccio pratico, e ricco di esempi semplici per illustrare bene i concetti, impara le basi del linguaggio di scripting Bash, ormai divenuto uno standard de facto in termini di scripting di shell (Shell Scripting).
La presentazione si compone di 12 lezioni / capitoli:
1 - Introduzione
2 - Primi passi
3 - Variabili
4 - Array
5 - Aritmetica
6 - Test
7 - Costrutti condizionali
8 - Cicli iterativi
9 - Funzioni
10 - Quoting
11 - Terminare uno script
12 - Debugging
Per un totale di 98 diapositive
Videocorso in italiano su Udemy!
https://www.udemy.com/corso-linux-per-sviluppatori-web-lamp-apache-php-mysql/?couponCode=SLIDES10
- Installare un server linux
- Lavorare con la linea di comando
- Gestione gruppi, utenti e permessi
- Bash scripting
- Espressioni regolari
- Apache, NGnix &Https
- Installare PHP & MySql
- Cron e crontab
Con un approccio pratico, e ricco di esempi semplici per illustrare bene i concetti, impara le basi del linguaggio di scripting Bash, ormai divenuto uno standard de facto in termini di scripting di shell (Shell Scripting).
La presentazione si compone di 12 lezioni / capitoli:
1 - Introduzione
2 - Primi passi
3 - Variabili
4 - Array
5 - Aritmetica
6 - Test
7 - Costrutti condizionali
8 - Cicli iterativi
9 - Funzioni
10 - Quoting
11 - Terminare uno script
12 - Debugging
Per un totale di 98 diapositive
Intro a Linux tenuta all'università degli studi di Napoli Federico II. Speaker: Gabriele Previtera - https://www.linkedin.com/in/gabriele-previtera-6657648b/
Tecnologie per la disabilità: presentazione del corsoFulvio Corno
Lezione introduttiva. Materiale relativo al corso di Tecnologie per la Disabilità del Politecnico di Torino (http://bit.ly/tecndisab), Anno Accademico 2011/2012
Intervento alla tavola rotonda "La gestione domiciliare del paziente SLA" del XII Workshop SLA (Sclerosi Laterale Amiotrofica) tenutosi a Napoli il 10/11/2012.
Nella presentazione si illustrano le potenzialità della domotica, come degli ausili tecnologici avanzati, per aumentare il grado di autonomia dei pazienti con seri problemi di mobilità, grazie ad una collaborazione tra le varie figure professionali e ad una progettazione incentrata sulla persona.
Edifici intelligenti: innovazione tecnologica e convergenza degli impiantiFulvio Corno
Presentazione presso il seminario "IMPIANTI D’ANTENNA: PRESENTE E FUTURO" organizzato dalla Camera di Commercio di Torino il 18/06/2012. http://www.to.camcom.it/Page/t23/view_html?idp=14632
L'intervento illustra il punto di vista della convergenza tecnologica tra i diversi tipi di impanti presenti in una moderna casa intelligente, con particolare attenzione all'interoperabilità. alla standardizzazione ed alla progettazione integrata.
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
RDF - Resource Description Framework and RDF SchemaFulvio Corno
An introduction to RDF and RDF Schema. The material is mostly taken from the Semantic Web Recommendations. Slides for the PhD Course on Semantic Web (http://elite.polito.it/).
Lezione presso il corso di Master in E-Learning per la Pubblica Amministrazione.
Si tratta di un Corso Universitario di Aggiornamento Professionale, finanziato da INPS/INPDAP e progettato in collaborazione con la Città di Torino e la Provincia di Torino, erogato tra maggio 2014 e settembre 2014.
Per maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/247-master-elpa
Graphs: representations and visits
Topics:
Graph representation
The JGraphT library
Graph visits
Visits in JGraphT
Teaching material for the course of "Tecniche di Programmazione" at Politecnico di Torino in year 2012/2013. More information: http://bit.ly/tecn-progr
La percezione sensoriale.
1. L’uomo elaboratore di informazione
2. Il meccanismo della percezione
3. L’udito
4. La vista
5. Gli altri sensi.
Materiale relativo al corso di Tecnologie per la Disabilità del Politecnico di Torino (http://bit.ly/tecndisab), Anno Accademico 2011/2012
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...Fulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
1. Problema e soluzione
2. I Learning Object
3. Metadati
4. SCORM
Lezione presso il corso di Master in E-Learning per la Pubblica Amministrazione.
Si tratta di un Corso Universitario di Aggiornamento Professionale, finanziato da INPS/INPDAP e progettato in collaborazione con la Città di Torino e la Provincia di Torino, erogato tra maggio 2014 e settembre 2014.
Per maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/247-master-elpa
Introduzione alla disabilità.
1. La disabilità: definizione, numeri e domande
2. Tecnologia e approccio alla disabilità
3. La classificazione della disabilità
4. ICF: Classificazione Internazionale del Funzionamento,
della Disabilità e della Salute.
Materiale relativo al corso di Tecnologie per la Disabilità del Politecnico di Torino (http://bit.ly/tecndisab), Anno Accademico 2011/2012
Attivare facilmente il Prompt dei comandi in Code::BlocksFulvio Corno
Breve tutorial per aggiungere una voce al menù "Tools" di Code::Blocks per aprire rapidamente una finestra "Prompt dei Comandi" già posizionata nella directory che contiene il file eseguibile.
Intelligenza ambientale applicata alla casaFulvio Corno
Seminario tenuto presso la Maison Equipée (Saint Marcel, Aosta, Italia) sul tema della domotica e dell'intelligenza ambientale applicati alla casa intelligente ed al supporto di utenti anziani e disabili.
Intro a Linux tenuta all'università degli studi di Napoli Federico II. Speaker: Gabriele Previtera - https://www.linkedin.com/in/gabriele-previtera-6657648b/
Tecnologie per la disabilità: presentazione del corsoFulvio Corno
Lezione introduttiva. Materiale relativo al corso di Tecnologie per la Disabilità del Politecnico di Torino (http://bit.ly/tecndisab), Anno Accademico 2011/2012
Intervento alla tavola rotonda "La gestione domiciliare del paziente SLA" del XII Workshop SLA (Sclerosi Laterale Amiotrofica) tenutosi a Napoli il 10/11/2012.
Nella presentazione si illustrano le potenzialità della domotica, come degli ausili tecnologici avanzati, per aumentare il grado di autonomia dei pazienti con seri problemi di mobilità, grazie ad una collaborazione tra le varie figure professionali e ad una progettazione incentrata sulla persona.
Edifici intelligenti: innovazione tecnologica e convergenza degli impiantiFulvio Corno
Presentazione presso il seminario "IMPIANTI D’ANTENNA: PRESENTE E FUTURO" organizzato dalla Camera di Commercio di Torino il 18/06/2012. http://www.to.camcom.it/Page/t23/view_html?idp=14632
L'intervento illustra il punto di vista della convergenza tecnologica tra i diversi tipi di impanti presenti in una moderna casa intelligente, con particolare attenzione all'interoperabilità. alla standardizzazione ed alla progettazione integrata.
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
RDF - Resource Description Framework and RDF SchemaFulvio Corno
An introduction to RDF and RDF Schema. The material is mostly taken from the Semantic Web Recommendations. Slides for the PhD Course on Semantic Web (http://elite.polito.it/).
Lezione presso il corso di Master in E-Learning per la Pubblica Amministrazione.
Si tratta di un Corso Universitario di Aggiornamento Professionale, finanziato da INPS/INPDAP e progettato in collaborazione con la Città di Torino e la Provincia di Torino, erogato tra maggio 2014 e settembre 2014.
Per maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/247-master-elpa
Graphs: representations and visits
Topics:
Graph representation
The JGraphT library
Graph visits
Visits in JGraphT
Teaching material for the course of "Tecniche di Programmazione" at Politecnico di Torino in year 2012/2013. More information: http://bit.ly/tecn-progr
La percezione sensoriale.
1. L’uomo elaboratore di informazione
2. Il meccanismo della percezione
3. L’udito
4. La vista
5. Gli altri sensi.
Materiale relativo al corso di Tecnologie per la Disabilità del Politecnico di Torino (http://bit.ly/tecndisab), Anno Accademico 2011/2012
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...Fulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
1. Problema e soluzione
2. I Learning Object
3. Metadati
4. SCORM
Lezione presso il corso di Master in E-Learning per la Pubblica Amministrazione.
Si tratta di un Corso Universitario di Aggiornamento Professionale, finanziato da INPS/INPDAP e progettato in collaborazione con la Città di Torino e la Provincia di Torino, erogato tra maggio 2014 e settembre 2014.
Per maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/247-master-elpa
Introduzione alla disabilità.
1. La disabilità: definizione, numeri e domande
2. Tecnologia e approccio alla disabilità
3. La classificazione della disabilità
4. ICF: Classificazione Internazionale del Funzionamento,
della Disabilità e della Salute.
Materiale relativo al corso di Tecnologie per la Disabilità del Politecnico di Torino (http://bit.ly/tecndisab), Anno Accademico 2011/2012
Attivare facilmente il Prompt dei comandi in Code::BlocksFulvio Corno
Breve tutorial per aggiungere una voce al menù "Tools" di Code::Blocks per aprire rapidamente una finestra "Prompt dei Comandi" già posizionata nella directory che contiene il file eseguibile.
Intelligenza ambientale applicata alla casaFulvio Corno
Seminario tenuto presso la Maison Equipée (Saint Marcel, Aosta, Italia) sul tema della domotica e dell'intelligenza ambientale applicati alla casa intelligente ed al supporto di utenti anziani e disabili.
9. $PATH
•La shell cerca i comandi all’interno del $PATH
•La cartella corrente «.» non fa parte del path
–e non è prudente aggiungerla
•È possibile aggiungere le proprie cartelle al $PATH
–nel dubbio: aggiungere sempre alla fine
Percorso 5
Bash script
9
PATH=$PATH:$HOME/scripts
echo $PATH
10. Argomenti e Variabili speciali
$*
$@
–gli argomenti dello script (tutti insieme)
–$* è equivalente a $@
–"$*" non è equivalente a "$@"
$#
–numero di argomenti
Percorso 5
Bash script
10
11. Argomenti
$0
–il nome dello script
$1 … $n
–il primo, …, n-esimo argomento dello script
–è necessario usare ${10} se n ≥ 10
shift
–cancella $1 e sposta ogni ${n} in ${n-1}
Percorso 5
Bash script
11
13. Esercizio
•Scrivere lo script «hello» che stampa a video il nome dell’utente
•Creare la cartella etc nella home, aggiungerla al PATH, ed eseguire lo script
Percorso 5
Bash script
13
$ hello
Ciao giovanni
14. Informazioni sul processo
$$
–il PID corrente
$UID / $GID
–l’UID / il GID corrente
Percorso 5
Bash script
14
15. Test
$?
–il valore di ritorno (exit code) dell’ultimo comando
–Convenzione
•zero: tutto ok
•maggiore di zero: problemi
Percorso 5
Bash script
15
16. Test
•Il comando «test» valuta l’espressione specificata e ne restituisce il valore (0 per vero, 1 falso)
•«[ expr ]» è equivalente a «test expr»
–«[» è un comando builtin
–ma esiste anche il file eseguibile /usr/bin/[
•Attenzione: «3 = 3» è un confronto fra parole, non numeri
Percorso 5
Bash script
16
17. Controlli principali
-f foo foo esiste ed è un file
-d foo foo esiste ed è una cartella
…
Usare «man test» per l’elenco completo dei controlli
Percorso 5
Bash script
17
18. Controlli principali
s1 = s2 la stringa s1 è uguale a s2
s1 != s2 la stringa s1 è diversa da s2
Percorso 5
Bash script
18
19. Controlli principali
n1 -eq n2 il numero n1 è uguale a n2
n1 -ne n2 il numero n1 è diverso da n2
n1 -ge n2 il numero n1 è maggiore o uguale a n2
n1 -gt n2 il numero n1 è maggiore di n2
n1 -le n2 il numero n1 è minore o uguale a n2
n1 -lt n2 il numero n1 è minore di n2
Percorso 5
Bash script
19
20. [ exp ] vs. [[ exp ]]
•[[ exp ]] valuta l’espressione come [ exp ]
•[[ … ]] è una keyword della shell, non è un comando (interno o esterno)
–maggiore versatilità
–test più potenti
–non del tutto standard
Percorso 5
Bash script
20
21. Esecuzione condizionale
if espressione
then
lista comandi
elif espressione
lista comandi
…
elif espressione
lista comandi
else
lista comandi
fi
Percorso 5
Bash script
21
23. Hacks
•Il comando viene eseguito se expr è vera
•Il comando viene eseguito se expr è falsa
Percorso 5
Bash script
23
expr && comando
expr || comando
24. Esercizio
•Scrivere uno script per controllare che tutti gli argomenti siano tutti file esistenti ed eseguibili
•In caso negativo, stampare l’elenco dei parametri non corretti spigando le ragioni
Percorso 5
Bash script
24
$ ./script.sh foo script.sh bar.txt
foo: file non trovato
bar.txt: file non eseguibile
25. Alternative
case parola in
pat1) comandi ;;
pat2) comandi ;;
…
*) comandi default ;;
esac
Percorso 5
Bash script
25
27. Espansione intera
•L’espressione dentro (( … )) viene considerata una «espressione intera» e valutata di conseguenza
•in (( … )) si possono usare: == != > >= < <= …
Percorso 5
Bash script
27
(( A = 12 + 45 ))
B=$(( A + 5 ))
if (( A >= 23 )); then
echo YES
fi
28. Costrutti iterativi
while espressione
do
lista comandi
done
Percorso 5
Bash script
28
until espressione
do
lista comandi
done
33. printf
•Per chi ha familiarità con il C, la bash mette a disposizione la printf
•Può essere utilizzata per definire variabili
Percorso 5
Bash script
33
printf "Formattato: %3dn" 23
printf -v FOO "Formattato: %3dn" 23
34. Command substitution
•L’output di un comando può essere utilizzato come fosse una stringa (ad esempio assegnato ad una variabile)
Percorso 5
Bash script
34
DIR=$( ls / )
echo $DIR
MSG=`echo "La vecchia Bourne shell"`
echo $MSG
35. Esercizio
•Scrivere lo script bar.sh che conta il numero di righe dei file passati come argomento e stampa una barra composta da hash ‘#’, una ogni 10 righe
•Problemi
–come contare le linee di un file ed assegnare il valore ad una variabile?
Percorso 5
Bash script
35
36. Quoting
•Il tasto racchiuso fra apici doppi viene visto come un singolo argomento, le variabili sono espanse
•Il tasto racchiuso fra apici singoli viene visto come un singolo argomento, le variabili non sono espanse
•Il tasto backslash «» (escape) cambia il significato del carattere che segue
Percorso 5
Bash script
36
38. $* vs. $@
•Se non racchiusi fra doppi apici
–equivalenti
•Se racchiusi fra doppi apici
•"$*" è espanso in una unica stringa
•"$@" è espanso nei singoli argomenti
•Suggerimento: usate sempre $@
•NB: ci sono altre differenze (vedi $IFS)
Percorso 5
Bash script
38
43. Valori di default delle variabili
${VAR-valore}
–usa valore se non definita
${VAR:-valore}
–# usa valore se non definita o vuota
Percorso 5
Bash script
43
45. Default + Assegnazione
${VAR=valore}
–sostituisce ed espande se non definita
${VAR:=valore}
–sostituisce ed espande se non definita o vuota
Percorso 5
Bash script
45
46. Valori alternativi delle variabili
${VAR+valore}
–usa valore se definita (anche se vuota)
${VAR:+valore}
–usa valore se definita e non vuota
Percorso 5
Bash script
46
48. Messaggi di errore
${VAR?messaggio}
–mostra un messaggio di errore ed interrompe lo script (restituisce 1) se la variabile non è definita
${VAR:?valore}
–mostra un messaggio di errore ed interrompe lo script (restituisce 1) se la variabile non è definita o è vuota
Percorso 5
Bash script
48
49. Pattern
${var%PATTERN}
–rimuove il più piccolo pattern dalla fine
${var%%PATTERN}
–rimuove il più lungo pattern dalla fine
Percorso 5
Bash script
49
50. Pattern
${var#PATTERN}
–rimuove il più piccolo pattern dall’inizio
${var##PATTERN}
–rimuove il più lungo pattern dall’inizio
Percorso 5
Bash script
50
60. Input
read var1 [… varN]
–legge dallo stdin ed assegna le variabili
–comando interno
–alla prima variabile viene assegnata la prima parola, alla seconda la seconda, …, all’ultima il resto della riga
Percorso 5
Bash script
60
61. Input
read var1 [… varN]
–è possibile usare la redirezione
–read è un espressione vera se ha assegnato le variabili
Percorso 5
Bash script
61
Control+D
63. Esecuzione automatica
~/.bash_profile
–Eseguito dalla bash quando l’utente si collega alla macchina la prima volta (login)
~/.profile
–Eseguito dalla sh quando l’utente si collega alla macchina la prima volta (login)
–Eseguito da bash solo se .bash_profile manca
~/.bashrc
–Eseguito quando l’utente apre un terminale
Percorso 5
Bash script
63
64. Esercizio
•Modificare .bash_profile e .bashrc facendo stampare due messaggi diversi
•Fare in modo che .bash_profile esegua sempre anche .bashrc
•Suggerimenti
[[ -f .bashrc ]] && source .bashrc
usare «bash -l» per lanciare una bash di login, «ps --forest» per verificare
Percorso 5
Bash script
64
65. These slides are licensed under a Creative Commons
Attribution Non Commercial Share Alike 4.0 International
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/
Versione in Italiano:
https://creativecommons.org/licenses/by-nc-sa/4.0/deed.it