Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAlda Mura Modificato 11 anni fa
1
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica
2
Sistemi Operativi - Introduzione 2 Programma Linux: introduzione e comandi principali Shell: linterprete dei comandi Linux: dettagli e comandi avanzati Shell: uso avanzato e script Il linguaggio di programmazione AWK vi(m): un editor di testo
3
Sistemi Operativi - Introduzione 3 Programma Linux: introduzione e comandi principali introduzione file system (base) comandi principali Shell: linterprete dei comandi introduzione sessioni (variabili dambiente ecc.) funzioni di interpretazione regexp scripting di base Linux: dettagli e comandi avanzati file system, inode e link sed, grep (regexp) cut, sort, uniq, wc archiving (tar, gzip) introduzione del for in Shell: uso avanzato e script sintassi e controllo di flusso gestione parametri Array vi(m): un editor di testo demo delleditor introduzione alle regexp
4
Sistemi Operativi - Introduzione 4 Indice Filtri File system: dettagli Altri comandi avanzati Il costrutto for-in
5
Sistemi Operativi - Introduzione 5 Indice Filtri File system: dettagli Altri comandi avanzati Il costrutto for-in
6
Sistemi Operativi - Introduzione 6 Filtri Comandi che operano sul proprio standard input per filtrarlo secondo alcuni parametri: grep sed cut sort uniq
7
Sistemi Operativi - Introduzione 7 grep grep cerca nei file di input le righe che fanno match con il pattern fornito. Sintassi: grep [opzioni] pattern [file...] Opzioni utili: -A num stampa altre num righe -H stampa il nome del file per ogni match -i case insensitive -n stampa il numero di riga del match -r, -R ricorsivo sul sottoalbero -v stampa solo le righe che non fanno match
8
Sistemi Operativi - Introduzione 8 grep - regexp Le espressioni regolari sono pattern che descrivono un insieme di stringhe. Espressioni complesse si costruiscono combinando espressioni semplici. Regexp: [c 1 c 2 ] uno qualsiasi dei caratteri in parentesi [c 1 -c 5 ] uno qualsiasi dei caratteri nel range [^c 1 -c 5 ] uno qualsiasi dei caratteri NON nel range. un carattere qualsiasi ^, $ inizio e fine riga \ inizio e fine parola
9
Sistemi Operativi - Introduzione 9 grep - regexp Operatori di ripetizione (possono seguire ogni regexp): * lelemento precedente ce` zero o piu` volte + lelemento precedente ce` una o piu` volte {n} lelemento precedente ce` esattamente n volte {n,} lelemento precedente ce` n o piu` volte {n,m} lelemento precedente ce` min n e max m volte Operatori di concatenzaione: | OR tra due regexp () gestiscono le precedenze tra gli operatori Loperatore \ serve per poter usare in modo letterale i caratteri che hanno significati speciali.
10
Sistemi Operativi - Introduzione 10 grep - esempi Esempi: ps -ef | grep my_loop 100[1-5] grep –H –n -r my_func( *.[ch] cat f1.c | grep –v \/\*.*\*\/ > f2.c
11
Sistemi Operativi - Introduzione 11 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
12
Sistemi Operativi - Introduzione 12 sed - comandi Comandi: comandi con 0 o 1 indirizzo: = stampa il numero della riga corrente q termina lelaborazione 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 e p y/old/new/ trasforma i caratteri in old con quelli in new
13
Sistemi Operativi - Introduzione 13 sed - indirizzi 0 indirizzi - il comando si applica a ogni linea 1 indirizzo - il comando si applica a tutte le righe con quellindirizzo, che puo` essere: num /regexp/ $ 2 indirizzi - il comando si applica a tutte le righe comprese tra i due indirizzi (compresi).
14
Sistemi Operativi - Introduzione 14 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
15
Sistemi Operativi - Introduzione 15 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
16
Sistemi Operativi - Introduzione 16 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 c 1 [,c 2 ] ordina sulla base dei soli campi selezionati -m merge di file gia` ordinati Esempi: cat pippo.txt | sort –r –k 1,3 -f
17
Sistemi Operativi - Introduzione 17 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
18
Sistemi Operativi - Introduzione 18 Indice Filtri File system: dettagli Altri comandi avanzati Il costrutto for-in
19
Sistemi Operativi - Introduzione 19 File system Lorganizzazione piu` comune del file system UNIX e`: / bin home sbin usr etc var dev mnt bin sbin lib include log
20
Sistemi Operativi - Introduzione 20 File system Il kernel virtualizza diverse partizioni (ognuna col suo file system) come se fossero tutte parte dello stesso albero. A ogni file di qualunque tipo e` associato un inode number, lindice di una tabella in cui ogni elemento (inode) contiene le informazioni di un file. Le directory sono delle tabelle che associano al nome di un file il suo inode number. Tale associazione si chiama link. Lo stesso inode number puo` apparire in piu` link!
21
Sistemi Operativi - Introduzione 21 File system - comandi Per creare dei link si usa il seguente comando: ln [opzioni] source_file [target_file] Opzioni utili: -s crea un link SIMBOLICO (default HARD link) N.B. I link simbolici contengono il path del file puntato e possono essere fatti tra file system differenti (gli hard link no!). Il comando rm rimuove il file solo se il numero dei link e` a 0 Il comando mv equivale ad eseguire prima ln e poi rm.
22
Sistemi Operativi - Introduzione 22 Indice Filtri File system: dettagli Altri comandi avanzati Il costrutto for-in
23
Sistemi Operativi - Introduzione 23 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`
24
Sistemi Operativi - Introduzione 24 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
25
Sistemi Operativi - Introduzione 25 tar tar gestisce larchiviazione (e la compressione) di dati. Uso normale: tar –czvf file.tgz directory tar –xzvf file.tgz Opzioni utili: -c crea larchivio -x estrae larchivio -z, -j comprime (gzip o bzip2) -v verbose (stampa i messaggi) -f specifica il file di archivio
26
Sistemi Operativi - Introduzione 26 Indice Filtri File system: dettagli Altri comandi avanzati Il costrutto for-in
27
Sistemi Operativi - Introduzione 27 Il costrutto for-in for var in value1 value2 value3... do #commands done Esegue i comandi specificati, una volta per ogni valore assunto dalla variabile var.
28
Sistemi Operativi - Introduzione 28 Il costrutto for-in - esempi 1: for i in {1..5} do echo $i >> numeri.txt done 2: for f in `ls | grep.*7$`; do chmod g+x $f; done equivalente a: find. –maxdepth 1 –name *7 –exec chmod g+x \{} \;
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.