Avanti Indietro Indice

2. Lezione 2 - Navigazione

2.1 Navigazione

In questa lezione presenterò i primi tre comandi: pwd (print work directory), cd (change directory) e ls (elenca file e directory).

Se non avete mai lavorato prima con l'interfaccia a riga di comando, dovrete prestare molta attenzione a questa lezione, fino a quando i concetti che si apprenderanno non saranno diventati un po' più familiari.

2.2 Organizzazione del File System

Proprio come quel sistema operativo proprietario, i file di un sistema Linux sono sistemati in qualcosa che è chiamato struttura gerarchica delle directory. Questo significa che le directory (chiamate 'cartelle' in altri sistemi) sono organizzate a forma di albero e possono contenere file e altre directory. La directory principale è chiamata la directory root. La directory root contiene file e sottodirectory, che contengono altri file e sottodirectory, e così via.

La maggior parte degli ambienti grafici odierni include un programma di gestione dei file per vedere e manipolare il contenuto del file system. Vedrete spesso il file system rappresentato in questo modo:

Una differenza importante tra quel sistema operativo proprietario e Unix/Linux, è che Linux non associa lettere ai dischi. Mentre le lettere dei dischi dividono il file system in una serie di alberi differenti (uno per ogni disco), Linux ha sempre un singolo albero; i dispositivi di memorizzazione differenti sono rappresentati da rami differenti dell'albero, ma l'albero è sempre uno solo.

2.3 pwd - print work directory

Dato che un'interfaccia a riga di comando non può fornire rappresentazioni grafiche della struttura del file system, deve avere un modo differente di rappresentarlo. Immaginate l'albero del file system come se fosse un labirinto, e immaginate di esserci dentro. In un dato momento vi trovate in una specifica directory di cui potete vedere i file, il percorso alla sua directory genitrice, e il percorso alle sottodirectory.

La directory in cui vi trovate è chiamata la directory di lavoro. Per trovare il suo nome, usa il comando pwd.

   [io@linuxbox io]$ pwd
   /home/io

All'inizio, quando entrate in un sistema Linux, la directory di lavoro è impostata alla vostra directory home. Questa è la vostra directory personale in cui mettere i vostri file. Nella maggior parte dei sistemi Linux, la directory home personale sarà chiamata /home/nome_utente, ma in generale potrebbe assumere qualsiasi altro nome, a seconda dei capricci dell'amministratore di sistema.

Per ottenere una lista dei file presenti nella directory di lavoro, si usa il comando ls.

   [io@linuxbox io]$ ls
   Desktop     Xrootenv.0    linuxcmd
   GNUstep     bin           nedit.rpm
   GUILG00.GZ  hitni123.jpg  nsmail

Nella prossima lezione tornerò a parlare ancora di ls. Ci sono un po' di cose divertenti che si possono fare con ls, ma prima devo parlare un po' dei "percorsi" e delle "directory".

2.4 cd - change directory

Per cambiare la vostra directory di lavoro (cioè la vostra posizione nel labirinto) potete usare il comando cd. Per fare questo, digitate cd seguito dal percorso (pathname) della directory desiderata. Un percorso è la strada da prendere attraverso i rami dell'albero per raggiungere la directory voluta. I percorsi possono essere specificati in due modi differenti: percorsi assoluti o percorsi relativi. Prima tratteremo dei percorsi assoluti.

Un percorso assoluto inizia con la directory root (/) ed è seguita dai rami dell'albero in sequenza, fino al completamento del percorso che porta alla directory o al file desiderati. Per esempio, c'è una directory nel file system in cui sono installati i programmi per il sistema X window. Il percorso è /usr/X11R6/bin. Questo significa che nella directory root (rappresentata dalla barra iniziale nel percorso) c'è una directory chiamata "usr" che contiene una directory chiamata "X11R6", che a sua volta contiene una directory chiamata "bin".

Facciamo una prova:

   [io@linuxbox io]$ cd /usr/X11R6/bin

   [io@linuxbox io]$ pwd
   /usr/X11R6/bin

   [io@linuxbox io]$ ls
   Animate               import                xfwp
   AnotherLevel          lbxproxy              xg3
   Audio                 listres               xgal
   Auto                  lndir                 xgammon
   Banner                makedepend            xgc
   Cascade               makeg                 xgetfile
   Clean                 mergelib              xgopher
   Form                  mkdirhier             xhexagons
   Ident                 mkfontdir             xhost
   Pager                 mkxauth               xieperf
   Pager_noxpm           mogrify               xinit
   RunWM                 montage               xiterm
   RunWM.AfterStep       mtv                   xjewel
   RunWM.Fvwm95          mtvp                  xkbbell
   RunWM.MWM             nxterm                xkbcomp

   e tanti altri file ...

Come si vede, abbiamo cambiato la directory di lavoro corrente alla /usr/X11R6/bin, che è piena di file. Avete notato che il vostro prompt è cambiato? Per comodità, solitamente si imposta il prompt affinché mostri il nome della directory di lavoro.

Mentre un percorso assoluto inizia dalla directory root e conduce alla sua destinazione; un percorso relativo, invece, inizia dalla directory di lavoro. A questo scopo, in un percorso relativo si usa una coppia di simboli speciali per rappresentare le posizioni relative nell'albero del file system. Questi simboli speciali sono: "." (punto) e ".." (punto punto).

Il simbolo "." si riferisce alla directory di lavoro, mentre il simbolo ".." si riferisce alla directory genitrice della directory di lavoro. Di seguito è mostrato come funzionano. Spostiamoci ancora nella directory /usr/X11R6/bin:

   [io@linuxbox io]$ cd /usr/X11R6/bin
   [io@linuxbox io]$ pwd
   /usr/X11R6/bin

Bene, ora supponiamo di voler cambiare la directory di lavoro in quella genitrice della /usr/X11R6/bin, ossia /usr/X11R6. Questo si potrebbe fare in due modi differenti. Il primo usa un percorso assoluto:

   [io@linuxbox io]$ cd /usr/X11R6
   [io@linuxbox io]$ pwd
   /usr/X11R6

Il secondo usa un percorso relativo:

   [io@linuxbox io]$ cd ..
   [io@linuxbox io]$ pwd
   /usr/X11R6

Due metodi differenti con identico risultato. Quale dovreste usare? Quello che richiede la minore digitazione!

Similmente, possiamo cambiare la directory di lavoro da /usr/X11R6 a /usr/X11R6/bin in due modi differenti. Il primo usa un percorso assoluto:

   
   [io@linuxbox io]$ cd /usr/X11R6/bin
   [io@linuxbox io]$ pwd
   /usr/X11R6/bin

Il secondo usa un percorso relativo:

   [io@linuxbox io]$ cd ./bin
   [io@linuxbox io]$ pwd
   /usr/X11R6/bin

Ora, c'è qualcosa di importante che devo far notare: nella maggioranza dei casi, il "./" è implicito e si può omettere. Se digitate

   [io@linuxbox io]$ cd bin

dovreste ottenere lo stesso effetto. In generale, se non si specifica un percorso relativo verso qualcosa, sarà assunta la directory di lavoro. C'è un'eccezione importante a questo comportamento, ma ne parleremo tra poco.

2.5 Un paio di scorciatoie

Se digitate cd senza opzioni, cambierete la directory di lavoro nella vostra directory personale in /home.

Una scorciatoia correlata è cd  nome_utente. In questo caso, cd cambierà la directory di lavoro alla directory in /home dell'utente specificato.

2.6 Fatti importanti che riguardano i nomi dei file

  1. I file i cui nomi iniziano con un punto sono nascosti. Questo significa solo che non compariranno nell'elenco generato con il comando ls, a meno che non si dia il comando ls -a. Al momento della creazione dell'account, nella vostra directory in /home sono stati posizionati svariati file nascosti, destinati a configurare alcune cose del vostro account. In seguito daremo un'occhiata da vicino ad alcuni di questi file, per vedere come adeguare l'ambiente alle vostre esigenze. Inoltre, alcune applicazioni metteranno i loro file di configurazione e impostazione nella vostra directory home, in forma di file nascosti.
  2. I nomi dei file di Linux, come quelli di Unix, sono sensibili alle minuscole/maiuscole: i nomi "File1" e "file1" si riferiscono a due file differenti.
  3. Linux non ha il concetto di "estensione del file" come accade nei sistemi operativi proprietari. Potete nominare i file come volete. Il contenuto e la destinazione di un file sono determinati con altri mezzi.
  4. Anche se Linux supporta i nomi di file lunghi che possono contenere spazi e caratteri di punteggiatura, limita l'uso dei caratteri di punteggiatura al punto, al trattino e alla sottolineatura. Importantissimo: non includete spazi nei nomi dei file. Se volete rappresentare gli spazi tra le parole, usate il carattere di sottolineatura (_); un giorno ringrazierete voi stessi, per questo.


Avanti Indietro Indice