La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting.

Presentazioni simili


Presentazione sul tema: "Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting."— Transcript della presentazione:

1 Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting

2 Amministrazione di reti di calcolatori - Massimo Bertozzi utilizzo della shell ✗ strumento potente ✗ permette di facilitare l'esecuzione di compiti ripetitivi ✗ varie alternative ✗ sh ✗ bash ✗ (perl)

3 Amministrazione di reti di calcolatori - Massimo Bertozzi caratteri speciali ✗ carattery jolly: * ? [ ] ✗ background: & ✗ separatore comandi: ; ✗ stringa letterale: ' ✗ stringa con gestione variabili: “ ✗ variabili: $ ✗ acceleratore: ! ✗ gestione output: ` ✗ redirezioni: > < | ✗ sequenza di escape: \

4 Amministrazione di reti di calcolatori - Massimo Bertozzi metacaratteri ✗ detti anche caratteri jolly ✗ permettono di rappresentare altri caratteri o gruppi di caratteri ✗ *: corrisponde a 0 o piú caratteri qualsiasi ✗ ?: corrisponde ad 1 carattere qualsiasi ✗ []: permettono di definire meglio la corrispondenza ✗ espansi dalla shell (differenza con DOS) ✗ \ per il significato letterale

5 Amministrazione di reti di calcolatori - Massimo Bertozzi esecuzione in background ✗ solo per programmi non interattivi ✗ permette di liberare il terminale ✗ si termina il comando con & ✗ attenzione ad HUP ✗ nohup

6 Amministrazione di reti di calcolatori - Massimo Bertozzi Redirezionamento ✗ sh, bash e ksh ✗ stdout > | ✗ stderr 2> ✗ &1 alias stdout ✗ >& o &> bash ✗ >> append ✗ (t)csh ✗ stdout > | ✗ stderr >& |& ✗ >> append ✗ ! dipende dalle impostazioni ✗ Permette di gestire l'output dei programmi ✗ Dipende fortemente dalla shell grep amministrazione < ce_full.log | grep -v forum | awk '{print $1}'|sort|uniq|wc -l

7 Amministrazione di reti di calcolatori - Massimo Bertozzi Output come argomento ✗ tramite “`” è possibile catturare l'output di un programma ✗ which ls ✗ ls -l `!!` ✗ banner `date|cut -c12-19`

8 Amministrazione di reti di calcolatori - Massimo Bertozzi shell script ✗ possibilità di creare script complessi ✗ quale shell usare? ✗ sh (default e nostro riferimento) ✗ bash ✗ (t)csh (evitare!) ✗ perl ✗ #!

9 Amministrazione di reti di calcolatori - Massimo Bertozzi variabili ✗ carattere $ ✗ argomenti: ✗ comando: $0 ✗ argomenti posizionali: $1 - $n ✗ numero argomenti: $# ✗ tutti gli argomenti: $* ✗ variabili con nome ✗ var1=... (attenzione agli spazi) ✗ export var1 ✗ read ✗ codice di ritorno: $? -> exit

10 Amministrazione di reti di calcolatori - Massimo Bertozzi ciclo for ✗ for variabile ✗ in lista-valori ✗ do ✗ comando 1 ✗ comando 2 ✗... ✗ done

11 Amministrazione di reti di calcolatori - Massimo Bertozzi ciclo while ✗ while ✗ comando1 ✗ comando2 ✗... ✗ do ✗ comando 1a ✗ comando 2a ✗... ✗ done

12 Amministrazione di reti di calcolatori - Massimo Bertozzi if then else ✗ if ✗ comando1 ✗... ✗ then ✗ comando 1a ✗... ✗ else ✗ comando 1b ✗... ✗ fi

13 Amministrazione di reti di calcolatori - Massimo Bertozzi test ✗ utile in accoppiata con if ✗ test -r ✗ test -w ✗ test -x ✗ test -s ✗ test var1 -eq var2 ✗... ✗ sostituibile con [ ] (attenzione agli spazi)

14 Amministrazione di reti di calcolatori - Massimo Bertozzi funzioni ✗ sintassi semplice ✗ nomefunzione () { ✗ corpofunzione ✗ } ✗ si invocano con ✗ nomefunzione

15 Amministrazione di reti di calcolatori - Massimo Bertozzi espressioni ✗ expr ✗ sia espressioni logiche che matematiche ✗ expr 1 + 2 ✗ expr $a + $b

16 Amministrazione di reti di calcolatori - Massimo Bertozzi debug ✗ errori di interpretazione ✗ echo ✗ opzione -x

17 Amministrazione di reti di calcolatori - Massimo Bertozzi comandi utili ✗ awk ✗ sed ✗ tr ✗ grep ✗...

18 Amministrazione di reti di calcolatori - Massimo Bertozzi awk ✗ sistema per l'analisi di informazioni testuali ✗ analisi di linee ✗ ricerca sequenze ✗ sequenza – azione ✗ awk ✗ ; cat /etc/shadow | awk -F: '{print $1, $2}'

19 Amministrazione di reti di calcolatori - Massimo Bertozzi awk – azioni di output ✗ legge una riga (record) per volta $0 ✗ divisione in campi $1, $2,..., $n ✗ spazio come separatore predefinito ✗ comandi di output ✗ print,,... ✗ printf,,,...

20 Amministrazione di reti di calcolatori - Massimo Bertozzi awk - sequenze ✗ operatori ==, >, <,... ✗ espressioni regolari tra / / (o anche “) ✗ operatori ~ e !~ ✗ operatori logici && || ✗ sequenze speciali BEGIN END ✗ intervalli di sequenze ✗ awk -F: 'BEGIN {print “UTENTI ATTIVI\n”> “l.txt”} \ ✗ $2 !~ ”@” {print $1>” l.txt”}' /etc/passwd

21 Amministrazione di reti di calcolatori - Massimo Bertozzi awk – variabili ✗ NR numero di linea di input ✗ NF numero di campi ✗ possibile definirne di proprie

22 Amministrazione di reti di calcolatori - Massimo Bertozzi awk – funzioni avanzate ✗ funzioni predefinite ✗ costrutti per il controllo di flusso ✗ funzioni definite dall'utente ✗ array ✗ output su file

23 Amministrazione di reti di calcolatori - Massimo Bertozzi l'editor sed ✗ editor non interattivo di riga ✗ da stdin o file a stdout ✗ operazioni comuni ✗ sostituisci -> sed 's/2004/2005/' < /tmp/listino.txt ✗ g per globale ✗ d cancella -> sed '/^$/d' /tmp/testo.txt ✗ p stampa -> sed '/Costo/p' < /tmp/fatture.txt

24 Amministrazione di reti di calcolatori - Massimo Bertozzi altri esempi sed 8d Cancella l'ottava riga dell'input. /^$/d Cancella tutte le righe vuote. 1,/^$/d Cancella dall'inizio dell'input fino alla prima riga vuota compresa. /Jones/p Visualizza solo le righe in cui è presente "Jones" (con l'opzione -n). s/Windows/Linux/ Sostituisce con "Linux" la prima occorrenza di "Windows" trovata in ogni riga dell'input. s/BSOD/stabilità/g Sostituisce con "stabilità" tutte le occorrenze di "BSOD" trovate in ogni riga dell'input. s/ *$// Cancella tutti gli spazi che si trovano alla fine di ogni riga. s/00*/0/g Riduce ogni sequenza consecutiva di zeri ad un unico zero. /GUI/d Cancella tutte le righe in cui è presente "GUI". s/GUI//g Cancella tutte le occorrenze di "GUI", lasciando inalterata la parte restante di ciascuna riga.


Scaricare ppt "Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting."

Presentazioni simili


Annunci Google