Sistemi Operativi - Introduzione
description
Transcript of Sistemi Operativi - Introduzione
Sistemi Operativi - Introduzione1
Il sistema operativo UNIXDettagli e comandi avanzati
Niccolò Battezzati <[email protected]>
Politecnico di Torino
Dip. Automatica e Informatica
Sistemi Operativi - Introduzione2
Programma
• Linux: introduzione e comandi principali
• Shell: l’interprete dei comandi
• Comandi avanzati e script
• Il linguaggio di programmazione AWK
Sistemi Operativi - Introduzione3
Indice• Filtri
• Altri comandi avanzati
Sistemi Operativi - Introduzione4
Indice• Filtri
• Altri comandi avanzati
Sistemi Operativi - Introduzione5
Filtri
• Comandi che operano sul proprio standard input per filtrarlo secondo alcuni parametri:
• grep• sed• cut• sort• uniq
Sistemi Operativi - Introduzione6
sed
• sed permette di fare semplici trasformazioni di un testo passato come input.
• Sintassi:
sed [opzioni] {script} [file]...• Opzioni utili:
• -f script esegue i comandi nel file script
• -n stampa solo le parti richieste (def. tutto stdin)
• Sintassi degli script:• ogni comando ha la seguente sintassi
[address[,address]] command
Sistemi Operativi - Introduzione7
sed - comandi
Sistemi Operativi - Introduzione8
sed - indirizzi• 0 indirizzi - il comando si applica a ogni linea
• 1 indirizzo - il comando si applica a tutte le righe con quell’indirizzo, che puo` essere:• num• /regexp/• $
• 2 indirizzi - il comando si applica a tutte le righe comprese tra i due indirizzi (compresi).
Sistemi Operativi - Introduzione9
sed - esempi
Esempi:
• cat file.txt | sed –n ‘=’ | tail –n 1
• sed ‘1 d’ file.txt
• sed –n ‘/^\/\*/,$ p’ file.txt
• cat f1.c | sed ‘s/myfunc/myFunc/g’ > f2.c
Sistemi Operativi - Introduzione10
cut
• cut seleziona porzioni di ogni linea del file in input.• Sintassi:
cut -c|-f list [–d delim] [file]...• Parametri:
• list lista dei campi da selezionare
• -d delim usa delim per dividere i campi (default TAB)
Esempi:• cat pippo.txt | cut –f 1,3
• cut –f 1-3,5-6 –d “ ” pippo.txt
Sistemi Operativi - Introduzione11
sort• sort ordina i file in input• Sintassi:
sort [option]... [file]...• Opzioni utili:
• -f case insensitive
• -n ordine numerico (default alfabetico)
• -r ordine inverso
• -k c1[,c2] ordina sulla base dei soli campi selezionati
• -m merge di file gia` ordinati
Esempi:• cat pippo.txt | sort –r –k 1,3 -f
Sistemi Operativi - Introduzione12
uniq• uniq stampa o elimina le righe ripetute nel file in
input. N.B. Richiede che il file sia ordinato!!!• Sintassi:
uniq [options] [in_file] [out_file]• Opzioni utili:
• -c stampa il numero di ripetizioni prima della riga
• -d stampa solo le righe ripetute
• -f num ignora i primi num campi per il confronto
• -i case insensitive
Esempi:• cat pippo.txt | sort –r –k 1,3 | uniq –f 1
Sistemi Operativi - Introduzione13
Indice• Filtri
• Altri comandi avanzati
Sistemi Operativi - Introduzione14
wc• wc visualizza il numero di linee, parole e byte nel file in
input.• Sintassi:
wc [options] [file...]• Opzioni utili:
• -c conta il numero di byte
• -w conta il numero di parole
• -l conta il numero di linee
Esempi:• num_lines=`cat pippo.txt | wc –l`
Sistemi Operativi - Introduzione15
tr• tr copia stdin su stdout facendo le sostituzioni
specificate.• Sintassi:
tr [options] string1 [string2]• Opzioni utili:
• -d cancella i caratteri in string1
Esempi:• echo ciao | tr ia IA cIAo
Sistemi Operativi - Introduzione16
tar• tar gestisce l’archiviazione (e la compressione) di dati.
• Uso normale:
tar –czvf file.tgz directory
tar –xzvf file.tgz• Opzioni utili:
• -c crea l’archivio
• -z, -j comprime (gzip o bzip2)
• -v verbose (stampa i messaggi)
• -f specifica il file di archivio