Il sistema operativo UNIX
Dettagli e comandi avanzati
Niccolò Battezzati
<[email protected]>
Politecnico di Torino
Dip. Automatica e Informatica
Sistemi Operativi - Introduzione
1
Programma
• Linux: introduzione e comandi principali
• Shell: l’interprete dei comandi
• Comandi avanzati e script
• Il linguaggio di programmazione AWK
Sistemi Operativi - Introduzione
2
Indice
• Filtri
• Altri comandi avanzati
Sistemi Operativi - Introduzione
3
Indice
• Filtri
• Altri comandi avanzati
Sistemi Operativi - Introduzione
4
Filtri
• Comandi che operano sul proprio standard
input per filtrarlo secondo alcuni parametri:
•
•
•
•
•
grep
sed
cut
sort
uniq
Sistemi Operativi - Introduzione
5
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 - Introduzione
6
sed - comandi
• Comandi:
• comandi con 0 o 1 indirizzo:
• =
stampa il numero della riga corrente
• q
termina l’elaborazione
• comandi con 1 o 2 indirizzi:
• d
elimina la riga corrente
• p
stampa la riga corrente
• s/old/new/flag sostituisce old con new
• flags:
• num | g | p
• y/old/new/
Sistemi Operativi - Introduzione
trasforma i caratteri in old con
quelli in new
7
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 - Introduzione
8
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 - Introduzione
9
cut
• cut seleziona porzioni di ogni linea del file in input.
• Sintassi:
cut -c|-f list [–d delim] [file]...
• Parametri:
• list
• -d delim
lista dei campi da selezionare
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 - Introduzione
10
sort
• sort ordina i file in input
• Sintassi:
sort [option]... [file]...
• Opzioni utili:
•
•
•
•
•
-f
-n
-r
-k c1[,c2]
-m
case insensitive
ordine numerico (default alfabetico)
ordine inverso
ordina sulla base dei soli campi selezionati
merge di file gia` ordinati
Esempi:
• cat pippo.txt | sort –r –k 1,3 -f
Sistemi Operativi - Introduzione
11
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
-d
-f num
-i
stampa il numero di ripetizioni prima della riga
stampa solo le righe ripetute
ignora i primi num campi per il confronto
case insensitive
Esempi:
• cat pippo.txt | sort –r –k 1,3 | uniq –f 1
Sistemi Operativi - Introduzione
12
Indice
• Filtri
• Altri comandi avanzati
Sistemi Operativi - Introduzione
13
wc
• wc visualizza il numero di linee, parole e byte nel file in
input.
• Sintassi:
wc [options] [file...]
• Opzioni utili:
• -c
• -w
• -l
conta il numero di byte
conta il numero di parole
conta il numero di linee
Esempi:
• num_lines=`cat pippo.txt | wc –l`
Sistemi Operativi - Introduzione
14
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
Sistemi Operativi - Introduzione

cIAo
15
tar
• tar gestisce l’archiviazione (e la compressione) di dati.
• Uso normale:
tar –czvf file.tgz directory
tar –xzvf file.tgz
• Opzioni utili:
•
•
•
•
-c
-z, -j
-v
-f
Sistemi Operativi - Introduzione
crea l’archivio
comprime (gzip o bzip2)
verbose (stampa i messaggi)
specifica il file di archivio
16
Scarica

so_1011_lab3 - Politecnico di Torino