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

Slides:



Advertisements
Presentazioni simili
CGI in Python & WebWare Marco Barisione. 2 CGI CGI = Common Gateway Interface È un modello di comunicazione fra browser e server I programmi CGI sono.
Advertisements

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
PHP.
Shell Scripting. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure contenuti.
Andrea Colombari, Carlo Drioli e Barbara Oliboni
Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME … Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
Sistemi Operativi - Shell 1 Il sistema operativo LINUX La shell Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX AWK Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX La shell Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX La shell Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi – La shell Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
AWK Salvatore Campagna
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione X Ingresso/Uscita di Interi Programmazione di Calcolatori: Ingresso/Uscita 1.
Programmazione della shell pt.2
Script di shell (bash).
1 PROGRAMMAZIONE IN SHELL The Unix Programming Environment Kernigham - Pike.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Per gli approfondimenti sui vari punti affrontati oggi verrete indirizzati alle pagine degli “Appunti di informatica libera” ospitati nel sito:
CORSO AUTOGESTITO DI GNU/LINUX Riprendi in mano il TUO sistema Riprendi in mano il TUO futuro BASH SCRIPTING.
Automatizzar e con Perl e Bash LinuxDay 2007 Torino Cascina Roccafranca Francesco Golia e Igor Pesando.
1 Corso su Bash GL-COMO 03/ Shell Kernel Shell/ GUI Utente Perché?! ● Velocità/performance ● Richieste di software praticamente nulle ● Operazioni.
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
1 Alberto Pollastro, !#/bin/bash Novara, GalLUG - Gruppo Utenti Linux Galliate - #!/bin/bash Alberto Pollastro.
INTRODUZIONE A MATLAB/OCTAVE MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
1 Amministrazione di base del sistema Cristina Moretto Corso Base LinuxTrent
Lo scripting ben temperato Ing. Davide Bolcioni Consulente Sistemi Informativi Ovvero un tocco di eleganza nella programmazione della shell.
Ambienti di Programmazione per il Software di Base
© 2007 SEI-Società Editrice Internazionale, Apogeo
A cura dell’Ing. Buttolo Marco
I/O redirection AND PIPES
Cosa succede quando premi invio
PROGRAMMAZIONE SHELL -
Terza Lezione → Navigare nel file System → parte 2
7. Strutture di controllo Ing. Simona Colucci
Script Marco D. Santambrogio –
PROGRAMMAZIONE BASH - INTRODUZIONE
I comandi.
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
I FILES AD ACCESSO SEQUENZIALE
FORMULE E FUNZIONI SU EXCEL
2018/9/ /9/11 USER ENVIRONMENT 1 1.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Informatica per l’Ingegneria
Tipi di Shell sh – Bourne shell csh – C shell ksh – Korn shell
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Informatica per Scienze Geologiche LT a.a
Classe III A A.s – 2012 Programma di Informatica
Tipi di Shell sh – Bourne shell csh – C shell ksh – Korn shell
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
File System ed Input/Output
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Metacaratteri Il carattere * indica un tipo ed un numero qualsiasi di caratteri Per copiare tutti i file che iniziano per “hemo” nella directory dir %
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Lezione Terza Primi passi di programmazione
Array e Stringhe Linguaggio C.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting

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)

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: \

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

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

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

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`

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 ✗ #!

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

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

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

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

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)

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

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

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

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

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}'

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,,,...

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

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

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

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

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.