Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Salvatore Cuomo » 5.Unix e Unix-like Esempi


Utilizzo simulato del S.O. Esempio 1

Esempio

A partire da una struttura del file system come in figura a) Si vuole creare nel file system una struttura come mostrato in figura b).

Soluzione

In primo luogo cerchiamo di capire a che punto dell’albero siamo:

oracolo.dma.unina.it$ pwd
/usr/users/caio/prog
oracolo.dma.unina.it$

1. Dobbiamo creare una directory che chiameremo temp

oracolo.dma.unina.it$ mkdir ../temp

Struttura iniziale.

Struttura iniziale.

Struttura finale.

Struttura finale.


Utilizzo simulato del S.O. Esempio 1 cont

2. spostare il file pippo.txt, chiamandolo pippo.c, nella nuova directory temp

oracolo.dma.unina.it$ mv pippo.txt ../temp/pippo.c

3. spostarsi nella directory temp e chiamare il compilatore C per creare a.out (eseguibile di pippo.c)

oracolo.dma.unina.it$ cd ../temp
oracolo.dma.unina.it$ pwd
/usr/users/caio/temp
oracolo.dma.unina.it$ cc pippo.c
oracolo.dma.unina.it4 ls
a.out
pippo.c

Struttura iniziale.

Struttura iniziale.

Struttura finale.

Struttura finale.


Utilizzo simulato del S.O. Esempio 1 cont

4. creare l’eseguibile di pippo.c assegnano il nome pippo

oracolo.dma.unina.it$ cc -o pippo pippo.c
oracolo.dma.unina.it$ ls
a.out
pippo.c
pippo
oracolo.dma.unina.it$

Struttura iniziale.

Struttura iniziale.

Struttura finale.

Struttura finale.


Utilizzo simulato del S.O. Esempio 2

Esempio

Si vuole visualizzare il contenuto di una directory in modo da ottenere il maggior numero di informazioni sui file in essa contenuti.

Soluzione

Si esegua il comando:

oracolo.dma.unina.it$ ls -la

In risultato dell’esecuzione è mostrato in figura.

Struttura iniziale.

Struttura iniziale.


Utilizzo simulato del S.O. Esempio 3

Esempio

Copiare i file come mostrato in figura seguendo opportunamente le frecce.

comandi Soluzione

1. spostarsi nella home directory

oracolo.dma.unina.it$ cd
oracolo.dma.unina.it$

2. copiare il file prova, chiamandolo topo.c, nella directory temp

oracolo.dma.unina.it$ cp ../tizio/prova prog/topo.c

3. copiare il file pippo.c nella directory prog

oracolo.dma.unina.it$ cp temp/pippo.cprog
oracolo.dma.unina.it$ ls prog
pippo.c
pluto.c
topo.c
oracolo.dma.unina.it$

Struttura iniziale.

Struttura iniziale.


Esecuzione di un comando lo Standard I/O

Quando in un sistema operativo di tipo Unix si vuole eseguire un comando bisogna considerare diverse categorie di file di tipo standard. In particolare

questi file sono di tre tipi:

  • Standard input file che rappresenta l’unità dal quale il comando legge il suo dato di ingresso. Di default il sistema Unix assume che esso sia la tastiera.
  • Standard output file che rappresenta l’unità sul quale il comando scrive il suo dato di uscita. In un sistema operativo Unix per default è assunto il video
  • Standard error file che rappresenta il dispositivo sul quale il comando scrive eventuali messaggi di errore. Nel sistema operativo Unix per default è assunto il video.

È possibile cambiare in maniera temporanea l’input e l’output verso altri file con l’uso dei caratteri

< ( per l'input) > o >> ( per l'output)

Utilizzo simulato del S.O. Esempio 4

Eseguire il programma assoluto pippo, e generare un file prog_res che contiene il programma sorgente e i risultati dell’elaborazione.

Soluzione:

1. Esecuzione del programma pippo e redirezione dell’output al file results

oracolo.dma.unina.it$ pippo > results

2. Il file pippo.c è inserito in prog_res

oracolo.dma.unina.it$ cat pippo.c > prog_res

3. Il file results è accodato in prog_res

oracolo.dma.unina.it$ cat results >> prog_res

Unix comandi di Base – riepilogo

Operazioni comuni

Lista dei files nella directory corrente

$ls |RETURN|

Lista dei files il cui nome termina con .txt nella directory corrente

$ls *.txt |RETURN|

Stampa della dimensione e delle proprietà dei files

$ls –l |RETURN|

-rwxr-xr-x 1 desalvo xv 11890 Jun 4 2001 test
-rw-r--r-- 1 desalvo xv 148 Jun 4 2001 test.c
drwxr-xr-x 2 desalvo xv 4096 Jan 15 22:09 test-directory

Stampa del nome della directory di lavoro corrente (full pathname)

$pwd |RETURN|

Unix comandi di Base – riepilogo

Cambio di directory

$cd |RETURN|

Ritorno alla directory al livello precedente

$cd .. |RETURN|

Creazione di una nuova directory

$mkdir |RETURN|

Rimozione di una directory vuota
$ rmdir |RETURN|

Unix comandi di Base – riepilogo

Spostamento o rinominazione di files

$ mv |RETURN|

Esempio di spostamento: $ mv pippo.txt txt_files/

Esempio di rinominazione: $ mv pippo.txt paperino.txt

Cancellazione di uno o più files

$rm |RETURN|
$rm pippo* |RETURN|

Copia di un file: $ cp pippo.txt paperino.txt |RETURN|

Visualizzazione del contenuto di un file (browsing): $more pippo.txt |RETURN|

Unix comandi di Base – riepilogo

Creazione o modifica di un file di testo (editing)

$ emacs pippo.txt |RETURN|

Stampa di un file

$ lpr -P |RETURN|

Informazioni sull’uso di un comando

$ man |RETURN|

Ogni utente è identificato da una coppia di informazioni:

  • Nome dell’utenza (username), pubblica
  • Parola-chiave (password), segreta.

L’utente accede al sistema fornendo username e password:

Login: accesso al sistema (da remoto)

$ ssh

Logout: uscita dal sistema

$ exit

Editor di testo

Vengono utilizzati per manipolare FILES nel File System di S.O. oppure per visualizzane il contenuto

  • I più comuni editor di testo UNIX lavorano direttamente sul formato di testo ASCII e non necessitano di formati di file “speciali”
  • I più comuni editor di testo sono: vi, emacs, pico
  • Altri tipi di editor di testo basati su interfaccia grafica hanno bisogno di sistemi operativi ad interfaccia grafica (Window systems)

L’editor di testo maggiormente utilizzato è il vi perché:

  • Disponibile su tutti i sistemi UNIX
  • Puo’ essere utilizzato in modalità remota (ovvero senza necessariamente utilizzare una interfaccia grafica per il sistema operativo)

Ottimo bilanciamento tra semplicità di utilizzo e potenza.

vi – principali comandi

Dalla modalità comando si può passare alla modalità inserimento in accordo con la tabella che segue:

i – prima del cursore

a – dopo il cursore

I - all’inizio della linea

A – alla fine della linea

o – apertura linea precedente

O – apertura linea successiva

N.B. In modalità inserimento tutti i caratteri digitati sulla tastiera vengono inseriti nel file

vi – principali comandi (segue)

Si accede a questa modalità mediante il tasto Esc

Spostamento del cursore

l – una colonna a destra

k – una linea sopra

j - una linea sotto

h – una colonna a sinistra

$ – fine linea

^ - inizio linea

w – parola successiva

e – fine parola

N.B. Si resta comunque in modalità comando

vi – principali comandi

Sostituzione

cw – sostituzione della parola

cc – sostituzione della linea

C – fine di linea

r - carattere del cursore

Cancellazione

dw – cancella la parola

dd - cancella la linea

D – alla fine di linea

x – carattere del cursore

X – carattere prima del cursore

vi – principali comandi (segue)

Altre funzioni

u - annulla

/ – ricerca in avanti

? – ricerca a ritroso

n – instanza successiva

. – ripete l’ultimo comando

Y – aggiorna la linea

p – inserisce sotto

P – inserisce sopra

ZZ – scrive ed esce

Esc – cancella il comando

vi – principali comandi

Dalla modalità comando si passa alla modalità ultima linea secondo la seguente tabella:

:w – scrive il file

:q – esce

:wq – scrive ed esce

:n – file successivo

:r – legge il file

:e – aggiorna il file

:f – nome del file

:set – aggiorna le opzioni

:! – Uscita dalla shell

:n - linea n

N.B. Alcune opzioni di set:

  • number (num) numera le linee del file
  • no auto indent (noai) evita il capoverso

Figura riepilogo comandi

Riepilogo comandi.

Riepilogo comandi.


Figura riepilogo comandi

Riepilogo comandi.

Riepilogo comandi.


Figura riepilogo comandi

Riepilogo comandi.

Riepilogo comandi.


Figura riepilogo comandi

Riepilogo comandi.

Riepilogo comandi.


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93