Pagina iniziale
Aula Didattica "G. Taliercio"
Introduzione all'uso del laboratorio didattico
a cura del dott. Roberto Valli

Indice | Precedente | Successivo

4. Gli utenti

Come si è visto, sotto la directory /home nei sistemi UNIX sono situate le cosiddette home directory degli utenti registrati nel sistema.

Ad ogni utente è associato un account caratterizzato da uno username o identificativo utente (uid=user ID) ed una password, e dall'assegnazione di uno spazio disco privato gestito dall'utente, detto home directory.

Per avere un account in Aula Taliercio, come vi è stato detto dal vostro docente, abbiamo predisposto una procedura di iscrizione guidata in formato elettronico. Troverete dei PC sui quali vi appare innanzitutto una schermata dove scegliere con il mouse il corso per il quale farete le esercitazioni; successivamente vi viene richiesto se volete iscrivervi da soli o se invece avete già un compagno od una compagna con cui condividere la postazione di lavoro (in aula ci sono 75 PC che vengono utilizzati a coppie); infine vi appare una scheda nella quale inserire Nome Cognome e numero di matricola. Dopo aver controllato i dati immessi potete confermare l'iscrizione.

Al termine delle iscrizioni sarete registrati nel sistema come utenti, vi verrà assegnato uno username ed una password, che ritirerete il primo giorno di laboratorio. Vi verrà inoltre assegnata una postazione di lavoro e verrà creata la vostra home directory sui server. Gli account che vi forniremo sono individuali, in questo modo, anche se nella maggior parte delle esercitazioni lavorerete a coppie, manterrete sempre un vostro spazio disco individuale. Ad esempio, lo studente Girolamo Savonarola con numero di matricola 123123, avrà uno username gs123123, una certa password assegnata dal sistema, ed una home directory il cui percorso assoluto sarà:

/home/nomedelserver/gs123123

Voglio farvi notare che questa directory non si troverà fisicamente sulla stazione di lavoro cui vi collegherete, ma su di un volume di rete presente su un server; dal punto di vista del file system questa directory è del tutto simile agli altri nodi dell'albero delle directory, ed il fatto che risieda altrove è del tutto mascherato.

A questo punto, colleghiamoci al sistema. L'atto del collegarsi al sistema è detto login, contrapposto allo scollegarsi, cioè l'uscire dal sistema, che si chiama logout.

Il monitor propone un messaggio come il seguente:

adtnn login:

digitiamo il nostro username

adtnn login: gs123123

quindi premiamo INVIO. Ora ci viene richiesta la password:

Password:

inseriamo la password che ci è stata assegnata; per mantenere la privacy la password non viene visualizzata nel corso della digitazione.

Il sistema di autenticazione verifica la congruenza di ciò che abbiamo digitato e ci collega al sistema ponendoci nel nostro spazio di lavoro, la nostra home directory; ci mostra il prompt dei comandi della shell, del tipo  username@host $, che, nel caso del nostro esempio, sarà:

gs123123@adtnn $

Come abbiamo già detto, la shell è il programma che ci consente di interfacciarci al sistema, che ci fornisce i comandi per spostarci all'interno del file system e per interagire con esso. Cerchiamo ora di imparare i primi comandi.

Possiamo anticipare che i comandi UNIX seguono un criterio di economicità, cosicché, molto spesso, un comando è la contrazione della corrispondente parola inglese.

Un primo comando che possiamo provare a digitare è pwd, l'abbreviazione di print working directory, seguito da INVIO; ciò che otteniamo è il percorso assoluto del nodo in cui ci troviamo nell'albero del file system, nel nostro caso, la nostra home directory: /home/nomedelserver/gs123123.

Per visualizzare l'elenco dei file presenti in una directory si usa il comando ls, l'abbreviazione dell'inglese list, listare.

Ecco cosa vediamo se digitiamo ls

PROVA.TXT programma.p prova.txt

come potete notare vi sono due file con lo stesso nome; si tratta però di oggetti distinti: dovete sempre ricordare che in questo sistema operativo i caratteri minuscoli sono distinti da quelli maiuscoli.

Spesse volte un comando viene seguito da lettere, dette opzioni, che modificano leggermente il comportamento del comando stesso. Per esempio, se proviamo a digitare ls -l otteniamo

-rw-rw-r-- 1 gs123123 marmat 3112 mar 5 11:52 PROVA.TXT

-rw-rw-r-- 1 gs123123 marmat 12756 mar 5 11:56 programma.p

-rw-rw-r-- 1 gs123123 marmat 4852 mar 5 11:52 prova.txt

Come potete vedere il numero di informazioni che otteniamo è molto maggiore di quelle ottenute con il semplice comando ls. Cominciamo da destra: vediamo il nome del file, la data e l'ora della sua ultima modifica, la dimensione. Più a sinistra l'unica cosa che ci è familiare il nostro username gs123123; "marmat" è il nome del gruppo cui l'utente appartiene. Infatti, per consentire a più utenti di condividere un progetto di lavoro su di uno spazio comune, nei sistemi UNIX esiste anche il concetto di gruppo; così, ad esempio, nel nostro laboratorio, al gruppo marmat appartengono gli studenti che fanno le esercitazioni al martedì mattina.

Del numero 1 posto prima dello username non ci occupiamo; ma possiamo analizzare la stringa di 10 caratteri più a sinistra. Possiamo suddividerla in 4 parti: la prima, composta da un solo carattere "-" indica il tipo di file, per i file normali troveremo, come in questo caso, il carattere -, ma nel caso ad esempio di una directory troveremo il carattere d. I successivi 9 caratteri vanno divisi in 3 gruppi di 3, che indicano rispettivamente i permessi di accesso al file da parte dell'utente, del gruppo cui appartiene, e di tutti gli altri utenti. Consideriamo il primo gruppo, quello relativo all'utente proprietario del file: i 3 caratteri che lo compongono sono rw-. La r indica che il file è leggibile (readable), la w invece che è scrivibile (writable), mentre il - indica che il file non è eseguibile, qualora lo fosse troveremmo al suo posto la lettera x (executable). L'utente può quindi leggere e scrivere questo file. Il gruppo cui appartiene ha gli stessi diritti, come indicano i 3 caratteri successivi, mentre tutti gli altri utenti possono solo leggere il file senza poterlo modificare (ultimi 3 caratteri). Nel caso di un programma eseguibile solo dal proprietario del file, potremmo avere dei permessi del tipo

-rwx------

oppure, nel caso di una directory, cui possano accedere sia l'utente proprietario che i componenti del suo gruppo, ma nessuno degli altri utenti, avremo

drwxrwx---

Il comando ls, come la maggior parte dei comandi UNIX, comprende un grande numero di opzioni. Un'altra opzione che può essere utile è -a. Digitando ls -a possiamo visualizzare anche i file il cui nome inizia con un punto, che altrimenti non vengono visualizzati. I file di questo tipo sono generalmente i file di configurazione del sistema o delle applicazioni.

Le opzioni possono essere anche combinate fra di loro, così, se digitiamo ls -la, le due opzioni viste prima ed usate insieme, otterremo un elenco completo e dettagliato dei nostri file.

Per organizzare meglio il nostro lavoro può esserci utile dividere i nostri file in cartelle (directory) diverse; possiamo creare una nuova cartella con il comando mkdir nomedirectory (make directory) e, se vogliamo entrare in questa nuova directory, useremo il comando cd nomedirectory (change directory). Se volessimo tornare ora alla directory genitore, cioè al nodo gerarchicamente superiore a quello in cui ci troviamo nell'albero del file system dovremmo digitare cd ..

Supponiamo di voler copiare il file prova.txt nella directory che abbiamo appena creato con il nome Programmazione. Dovremo digitare quindi:

cp prova.txt Programmazione/

In questo caso il comando cp che abbiamo usato è la contrazione dell'inglese copy. A questo punto il file originario prova.txt non ci serve più e vogliamo eliminarlo. Useremo il comando

rm prova.txt

(rm sta per remove, rimuovi).

Anziché operare in questo modo, avremmo potuto anche spostare direttamente il file prova.txt nella directory Programmazione.

Per fare questo avremmo dovuto usare il seguente comando:

mv prova.txt Programmazione/

(mv sta per move, muovi, sposta).

Il comando mv può essere usato anche per rinominare un file. Supponiamo ad esempio di voler cambiare il nome di programma.p in ordina.p. Digiteremo

mv programma.p ordina.p

Per visualizzare il contenuto di un file di testo possiamo usare il comando more nomefile. Questo comando mostra il contenuto del file sul monitor in varie schermate successive; per passare da una schermata all'altra si deve premere la barra spaziatrice.

Nel laboratorio, lo spazio disco massimo disponibile per ciascun utente è di 20 MB. Perciò può essere utile essere in grado di verificare quanto spazio occupano i nostri file. Per fare ciò dobbiamo porci nella nostra home directory e digitare

du -s

Il risultato di questo comando è un numero che esprime lo spazio occupato (disk usage) in KB.

Linux è un sistema ricco di documentazione, sia relativa ai comandi di sistema, che alle applicazioni installate. Per avere informazioni sulla sintassi di un comando richiamiamo la pagina di manuale digitando man nomecomando.

Informazioni più generali sull'uso dei programmi e del sistema operativo, si possono trovare nella directory /usr/doc/, che raccoglie la documentazione relativa a tutto ciò che è installato sul sistema.

Inoltre l'Aula Taliercio dispone di un sito web nel quale potete trovare documentazione, consigli per la programmazione e risposte alle domande più frequenti. L'indirizzo del sito è www.adt.unipd.it.

Dalla shell dei comandi possiamo eseguire non solo i comandi di sistema che abbiamo visto finora, ma anche le applicazioni installate ed i programmi che abbiamo creato nel corso delle nostre esercitazioni. Tipicamente, per avviare un programma o un'applicazione è sufficiente digitarne il nome e premere invio.
 

Indice | Precedente | Successivo