Directory e percorsi

Struttura delle directory

Affrontiamo adesso il concetto di directory. Una directory è un insieme di file. Può essere pensata come una "cartella" contenente tanti fogli. A queste directory vengono assegnati dei nomi per identificarle. Inoltre vengono tenute in una struttura ad albero di modo che delle directory possano contenerne altre. La directory iniziale viene chiamata "directory root" e viene indicata con il simbolo / e contiene tutti i file del vostro sistema.

Persorsi

Un percorsi è il "nome completo" di un file, contenente cioè non solo il nome ma anche la sua posizione; è costituito dal nome del file, preceduto dalla directory che lo contiene preceduta a sua volta dalla directory che contiene questa e via così. Un percorso tipico è /home/sasha/talk.txt che indica il file talk.txt nella directory sasha la quale a sua volta è una sotto-directory di /home.

Come potete vedere, la directory e il nome del file vengono separate da una slash singola (/); per questa ragione i nomi dei file non possono contenere il carattere slash (/). Gli utenti che provengono dal sistema operativo MS-DOS troveranno familiare questa convenzione, anche se in quel sistema operativo veniva invece usata la back-slash (\). La directory che contiene quella attuale viene chiamata la directory superiore. Ad esempio in questo caso la directory home è la directory superiore di sasha.

Ogni utente ha una propria home directory che normalmente è la directory che contiene tutti i file personali dell'utente; normalmente queste directory si trovano dentro di /home e prendono il nome dall'utente proprietario così che la home directory dell'utente sasha sarà /home/sasha.

Nomi relativi delle directory

In ogni momento i comandi inseriti vengono considerati relativi alla vostra directory corrente, la quale la potete pensare come la directory in cui "trovate in quel momento". Quando entrate nel sistema all'inizio la directory corrente è la vostra home directory — per il solito utente sasha sarà /home/sasha. Ogni volta che dovete riferirvi ad un file potete farlo riferendovi alla vostra directory corrente invece che specificarne il percorso completo.

Ad esempio se la vostra directory corrente è /home/sasha, e qui avete un file chiamato talk.txt potete farci riferimento solo con il suo nome: il comando emacs talk.txt dato dalla directory /home>sasha è equivalente a emacs /home/sasha/talk.txt (emacs è un potente editor per file di testo, forse poco indicato per nuovi utenti che possono preferire cose più semplici come gnotepad, ma per gli utenti avanzati emacs risulta indispensabile).

Allo stesso modo, se in /home/sasha avete una sotto-directory chiamata papers nella quale si trova il file chiamato fieldtheory.txt, potete riferirvi a questo come papers/fieldtheory.txt.

Se il primo carattere che usate quando vi riferite ad un file non è lo slash (/) (come papers/fieldtheory.txt) allora state usando un percorso relativo, cioè il nome è relativo alla directory corrente. In altre parole se iniziate il nome del vostro file con il carattere slash (/) il sistema lo interpreta come un percorso completo — cioè un percorso che comprende l'indirizzo completo fino al file partendo dalla directory root /. Questo modo di indicare i file si dice percorso assoluto.

Convenzioni sui percorsi

Di seguito alcune convenzioni standard usate negli indirizzi:

~/ — la directory home dell'utente

./ — la directory corrente

../ — parent of the current directory

Ad esempio se la directory corrente di sasha è /home/sasha/papers, si può riferire al file /home/sasha/talk.txt come ~/talk.txt oppure come ../talk.txt.