160 likes | 418 Views
Il sistema operativo UNIX Dettagli e comandi avanzati. Niccol ò Battezzati <niccolo.battezzati@polito.it> Politecnico di Torino Dip. Automatica e Informatica. 1. Sistemi Operativi - Introduzione. Programma. Linux: introduzione e comandi principali Shell: l’interprete dei comandi
E N D
Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati<niccolo.battezzati@polito.it> Politecnico di Torino Dip. Automatica e Informatica 1 Sistemi Operativi - Introduzione
Programma • Linux: introduzione e comandi principali • Shell: l’interprete dei comandi • Comandi avanzati e script • Il linguaggio di programmazione AWK 2 Sistemi Operativi - Introduzione
Indice • Filtri • Altri comandi avanzati 3 Sistemi Operativi - Introduzione
Indice • Filtri • Altri comandi avanzati 4 Sistemi Operativi - Introduzione
Filtri • Comandi che operano sul proprio standard input per filtrarlo secondo alcuni parametri: • grep • sed • cut • sort • uniq 5 Sistemi Operativi - Introduzione
sed • sed permette di fare semplici trasformazioni di un testo passato come input. • Sintassi: • sed [opzioni] {script} [file]... • Opzioni utili: • -f scriptesegue 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 6 Sistemi Operativi - Introduzione
sed - comandi • Comandi: • comandi con 0 o 1 indirizzo: • = stampailnumerodellarigacorrente • q terminal’elaborazione • comandi con 1 o 2 indirizzi: • d elimina la rigacorrente • p stampa la rigacorrente • s/old/new/flagsostituisceold con new • flags: • num | g | p • y/old/new/ trasformaicaratteri in old con quelli in new 7 Sistemi Operativi - Introduzione
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). 8 Sistemi Operativi - Introduzione
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 9 Sistemi Operativi - Introduzione
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 delimusa delim per dividere i campi (default TAB) • Esempi: • cat pippo.txt | cut –f 1,3 • cut –f 1-3,5-6 –d “ ” pippo.txt 10 Sistemi Operativi - Introduzione
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 11 Sistemi Operativi - Introduzione
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 12 Sistemi Operativi - Introduzione
Indice • Filtri • Altri comandi avanzati 13 Sistemi Operativi - Introduzione
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` 14 Sistemi Operativi - Introduzione
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 15 Sistemi Operativi - Introduzione
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 16 Sistemi Operativi - Introduzione