Esercitazioni del corso di Laboratorio di Calcolo
     n. 1 seconda parte
    21/10/05
    introduzione all'ambiente Linux


Per questa parte dell'esercitazione dovete riavviare il computer facendo partire Linux, se sono presenti piu' versioni scegliete la RedHat e non la versione CERN.

Collegatevi usando come account
didXXY
con XX=01...16 a seconda del numero del PC che state usando
e Y=m per il gruppo A e v per il gruppo B
e come password ... comunicata a voce dal docente

La gerarchia dei direttori di Unix

Un direttorio principale, chiamato root e indicato con /, contiene tutti i direttori del calcolatore, i quali a loro volta contengono altri direttori... fino al livello piu` interno che contiene i file (dati o programmi).
Invece di mostrare i direttori (come le cartelle Windows o Mac), in Unix vengono mostrate le relazioni tra direttori, mediante un albero rovesciato.
In cima abbiamo le radici (root) mentre i rami sono i sottodirettori.

bin, usr, home, dev, etc, sbin.... sono dei sottodirettori di root
did01m, did01v, did02m etc... sono sottodirettori di home.
Ogni gruppo ha un account (did01m ... did16m , did01v ... did16v) cui corrisponde una home directory sotto home.
 

Indirizzo di un file nel file-system Unix

Un file puo` essere identificato tramite il suo   pathname  completo (  /bin/cp  ), anche se  gli eseguibili (comandi) vengono cercati di default in una lista di direttori e quindi generalmente non e` necessario indicare tutto il path (cammino) e /bin/cp equivale a cp.

Inoltre il direttorio in cui ci si trova in quel momento (present working directory, ottenibile mediante il comando pwd) non ha bisogno di essere specificato, quindi per copiare un file A in un file B entrambi nel direttorio corrente e` suffciente scrivere

         cp         A        B

per copiare invece il file A dal direttorio dell'utente did01m nel direttorio corrente, home directory dell'utente did01v, si puo` procedere mediante indirizzi assoluti

         cp         /home/did01m/A            /home/did01v/B
         cp        /home/did01m/A                               B

oppure usando gli indirizzi relativi

         cp          ../did01m/A                                     B

(      ../        e` il direttorio al di sopra di quello attuale)
 
 
 

Navigazione nel file-system

pwd

present working directory, nessun argomento, ritorna l'indirizzo del direttorio corrente

cd

change directory, seguito da un argomento con il direttorio di destinazione, che puo` essere un indirizzo assoluto o relativo
esempio, partendo dal direttorio                      /home/did01m

        cd    ..             ci porta in /home

        cd   /home      ci porta in /home

        cd  Desktop                       ci porta nel sottodirettorio Desktop

        cd  /home/did01m/Desktop      ci porta nel sottodirettorio Desktop

        cd  ~/Desktop                    idem! (~ indica la propria home directory)
 

ls

list, fornisce la lista dei files del direttorio corrente o del direttorio di cui si fornisce l'indirizzo.

Questo comando ha delle opzioni utili, di cui per il momento ne indichiamo una sola: -F

(NB in Unix un comando seguito dal carattere - e poi da un'altro carattere indica un'opzione, per avere tutte le opzioni di un comando digitare man nome_del_comando, da una pagina del manuale si esce premendo q).

ls     -F         mostra i diversi tipi di files presenti nel direttorio in modo diverso:

i sottodirettori seguiti dal simbolo back-slash /
gli eseguibili seguiti dal simbolo *
i file di dati o di testo senza alcun simbolo particolare
 

Manipolazione di files

cp       A      B
copy: richiede due argomenti, l'indirizzo del file da copiare e quello del file su cui copiare

mv      A      B
move: sposta il primo file nel secondo

rm      A
remove: cancella il file A

more   A
mostra il contenuto del file A pagina per pagina

less     A
molto simile al precedente

cat      A
mostra il contenuto del file A tutto insieme

mkdir      D
crea il direttorio all'indirizzo D

rmdir       D
cancella il direttorio all'indirizzo D (solo se vuoto)
 

Creazione di files

esistono molti modi per creare files in Unix ma ci concentreremo sull'uso di uno dei piu` diffusi e potenti editor di testo: emacs.

Per fare partire una sessione di emacs basta digitare emacs, ma per poter mantenere l'uso della finestra di comandi si consiglia di digitare emacs &.

Il simbolo & alla fine di un comando lancia l'esecuzione del comando in background.
 

Questo editor puo` fare tantissime cose ma per oggi ci limitiamo ad usarlo per creare un file di testo, a vostro piacimento, e salvarlo mediante la sequenza di comandi

C-x    C-s    (C- tasto control tenuto premuto insieme al tasto indicato subito dopo)

emacs vi chiedera` di fornire il nome del file su cui salvare il contenuto del suo buffer.

Si esce con C-x C-c.
 
 
 

Applicate i comandi elencati qui sopra per eseguire le seguenti operazioni

a. controllare in che direttorio vi trovate

b. se non siete nella vostra home directory (/home/did01m o simili) portatevici

c. crearvi un sottodirettorio ex1

d. verificare mediante il comando ls -F di averlo creato

e. spostarvi all'interno del direttorio ex1

f. verificare col comando ls che questo e` vuoto

g. creare al suo interno un nuovo file con emacs chiamandolo ex1.txt

h. leggerlo con cat

i. leggerlo con more

j. leggerlo con less

k. rinominarlo esercitazione1.txt

l. se vi rimane tempo continuate ad esercitarvi con emacs, esploratene i menu, provate i comandi sotto elencati
 

C-v spostamento in avanti di una pagina

C-p spostamento all'indietro di una riga

C-n spostamento in avanti di una riga

C-f spostamento in avanti di un carattere

C-b spostamento all'indietro di un carattere

Alt-f spostamento in avanti di una parola

Alt-b spostamento indietro di una parola

C-s ricerca in avanti

C-r ricerca all'indietro

C-x C-f nuova apertura di file

C-x C-s salva

C-x C-c esci

<canc> cancella il carattere precedente

C-k cancella la riga corrente dal cursore in poi

C-y incolla (l'ultima cosa cancellata)

C-x u undo (dell'ultima operazione)