Il sistema operativo UNIX/LINUX - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Il sistema operativo UNIX/LINUX

Description:

Il sistema operativo UNIX La shell Niccol Battezzati Politecnico di Torino Dip. Automatica e Informatica * Sistemi Operativi ... – PowerPoint PPT presentation

Number of Views:153
Avg rating:3.0/5.0
Slides: 34
Provided by: Giorg56
Category:

less

Transcript and Presenter's Notes

Title: Il sistema operativo UNIX/LINUX


1
Il sistema operativo UNIX La shell
Niccolò Battezzati ltniccolo.battezzati_at_polito.itgt
Politecnico di Torino Dip. Automatica e
Informatica
1
Sistemi Operativi - Introduzione
2
Organizzazione
SISTEMI OPERATIVI Docente Prof. Pietro Laface
(pietro.laface_at_polito.it)? Esercitatore ? Ing.
Niccolò Battezzati (niccolo.battezzati_at_polito.it)?

2
Sistemi Operativi - Introduzione
3
Programma
  • Linux introduzione e comandi principali
  • Shell linterprete dei comandi
  • Linux dettagli e comandi avanzati
  • Shell uso avanzato e script
  • vi(m) un editor di testo

3
Sistemi Operativi - Introduzione
4
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
  • inode
  • processi
  • filtri (sed, grep, awk)
  • Shell uso avanzato e script
  • regexp
  • sintassi e controllo di flusso
  • gestione parametri
  • Array
  • vi(m) un editor di testo
  • demo delleditor
  • introduzione alle regexp
  • ...
  • ...

4
Sistemi Operativi - Introduzione
5
Indice
  • Introduzione
  • Caratteristiche
  • Espansione dei comandi
  • Scripting di base

5
Sistemi Operativi - Introduzione
6
Indice
  • Introduzione
  • Caratteristiche
  • Espansione dei comandi
  • Introduzione agli script

6
Sistemi Operativi - Introduzione
7
Introduzione
  • E lo strato più esterno del S.O. e fornisce
    uninterfaccia utente
  • era lunica interfaccia prima dellintroduzione
    del server X
  • In Unix la shell non è parte del kernel
  • è un normale processo utente

7
Sistemi Operativi - Introduzione
8
Introduzione
  • Una shell può essere attivata
  • automaticamente al login
  • in modo annidato dentro un'altra shell
  • Per terminare una shell
  • exit
  • il carattere di EOF (tipicamente d)?

8
Sistemi Operativi - Introduzione
9
Introduzione
  • In Unix sono disponibili molte shell
  • Bourne shell (sh) la shell originaria, molto
    usata nella programmazione sistemistica
  • C-shell (csh) la shell di Berkeley, ottima per
    l'uso interattivo e per gli script non di sistema
  • Korn shell (ksh) la Bourne shell riscritta
    dall'ATT per assomigliare di più alla C-shell
  • Tahoe C-shell (tcsh) dal progetto Tahoe, una
    C-shell migliorata
  • Bourne again shell (bash)?

9
Sistemi Operativi - Introduzione
10
Introduzione
  • Allavviamento ogni shell esegue i comandi
    elencati nei propri file di inizializzazione
  • /etc/profile comandi globali
  • /.profile comandi per il singolo utente
  • alcune shell usano anche il file .logout per
    eseguire comandi quando vengono terminate.

10
Sistemi Operativi - Introduzione
11
Introduzione
  • Per la shell bash, i file di inizializzazione
    sono
  • /etc/profile comandi per tutti gli utenti
  • /.bash_profile opp. /.profile comandi propri
    dellutente
  • /.bashrc comandi propri dellutente eseguiti in
    una shell non di login.

11
Sistemi Operativi - Introduzione
12
Indice
  • Introduzione
  • Caratteristiche
  • Espansione dei comandi
  • Introduzione agli script

12
Sistemi Operativi - Introduzione
13
Caratteristiche e uso della shell BASH
  • Parametri
  • Completamento
  • Pipeline
  • Redirezione dell'I/O
  • History
  • Aliasing
  • Gestione dei processi

13
Sistemi Operativi - Introduzione
14
Parametri
  • I parametri sono delle entita che memorizzano un
    valore (indicato con parametro)
  • parametri posizionali 0, 1, 2, 3... Sono usati
    per indicare i parametri passati a un comando o a
    una funzione
  • parametri speciali
  • la lista dei parametri posizionali
  • il numero di parametri posizionali
  • ? il valore di ritorno dellultimo comando
  • variabili contengono un valore non tipizzato.

14
Sistemi Operativi - Introduzione
15
Variabili
  • Una variabile ha un nome e un valore, che viene
    assegnato come segue
  • nomevalore (usare echo nome per
    visualizzarlo)
  • Il comando export variabile permette di renderla
    visibile ad altri processi
  • Il comando unset variabile ne cancella il valore
  • Built-in variables, tra cui
  • PATH
  • HOME
  • BASH_ARGV, BASH_ARGC
  • Array unidimensioanli
  • nomeindicevalore (usare echo nomeindice)

15
Sistemi Operativi - Introduzione
16
Completamento
  • Espansione dei nomi di file con il carattere TAB
  • se la stringa comincia con la shell cerca di
    completare col nome di una variabile
  • altrimenti, la shell cerca di completare col nome
    di un comando
  • altrimenti, la shell cerca di completare con nomi
    di file ordinari nella directory corrente.

16
Sistemi Operativi - Introduzione
17
Pipeline
  • Il collegamento stdout-stdin si chiama pipe e
    crea in memoria un canale diretto tra i due
    processi

17
Sistemi Operativi - Introduzione
18
Pipeline
  • comando1 comando2
  • pipe tra i due comandi
  • Esempi
  • ls -la more
  • ls l grep main.c
  • cat main.h sed s/N 10/N 12/g
  • cat main.c awk f my_script.awk

18
Sistemi Operativi - Introduzione
19
Redirezione dellI/O
  • comando lt file stdin da file
  • comando gt file stdout in file (cancellato se
    esiste)?
  • comando gtgt file stdout accodato a file
  • comando ltlt FINE stdin da here
    document text FINE
  • comando gt file (bash) stderrstdout in file
  • comando 2gt file (bash) stderr in file (1 è
    stdout)?

/dev/null e un file speciale su cui si puo
scrivere senza accumulare byte su disco
19
Sistemi Operativi - Introduzione
20
History
  • ?? mostra i comandi eseguiti precedentemente
  • !n esegue il comando numero n nel buffer
  • !-n esegue l'n-ultimo comando
  • ! l'ultimo parametro del comando precedente
  • ! tutti i parametri del comando precedente
  • !stringa l'ultimo comando che inizia con stringa
  • !!s/vecchio/nuovo rimpiazza la prima occorrenza
    di vecchio nell'ultimo comando con nuovo
  • CTRL-r com filtra la history mostrando solo i
    comandi che contengono la stringa com.

20
Sistemi Operativi - Introduzione
21
Aliasing
  • E possibile definire dei comandi con nuovi nomi
    (alias)
  • Gli alias sono locali alla shell corrente
  • alias elenca gli alias definiti
  • alias nomevalore definisce un alias
  • unalias nome cancella un alias
  • Esempi
  • alias llls -al
  • alias vivim

21
Sistemi Operativi - Introduzione
22
Write a Comment
User Comments (0)
About PowerShow.com