La directory corrente e cd
pwd
Usare le directory sarebbe scomodo se doveste scrivere il percorso completo ogni volta che voleste accedere ad una directory. Invece,
le shell UNIX hanno una caratteristica chiamata directory "corrente" o "di lavoro". Il vostro setup
probabilmente vi mostra la directory corrente nel prompt: /home/larry ; se non lo fa, provate il comando pwd ,
per present working directory (visualizza la directory di lavoro).
Talvolta il prompt vi mostrerà il nome della macchina: una cosa del genere è utile solo in un ambiente di rete con molte
macchine diverse.
mousehouse>pwd
/home/larry
mousehouse>
cd [directory]
Come potete vedere, pwd mostra la vostra directory corrente, un comando molto semplice. Molti comandi agiscono, per default,
nella directory corrente. Per esempio, ls senza nessun parametro ne mostra il contenuto. Possiamo cambiare la directory
corrente usando il comando cd : per esempio, provate:
/home/larry$ cd /home
/home$ ls -F
larry/ sam/ shutdown/ steve/ user1/
/home$
Se omettete il parametro opzionale directory, ritornerete alla vostra home directory, o directory di origine, altrimenti cd
vi porterà nella directory specificata. Per esempio:
/home$ cd
/home/larry$ cd /
/$ cd home
/home$ cd /usr
/usr$ cd local/bin
/usr/local/bin$
Come potete vedere, cd vi permette di usare percorsi sia assoluti sia relativi: un percorso assoluto inizia con
/ e specifica tutte le directory prima della directory cercata, un percorso relativo è preso in relazione alla
directory corrente. Nell'esempio precedente, quando ero in /usr , ho fatto uno spostamento relativo a local/bin
(local è una directory dentro usr, e bin è una directory dentro local).
Ci sono due directory usate solamente nei percorsi relativi: "." e "..". La directory "."
si riferisce alla directory corrente e ".." è la directory madre, cioè quella che contiene
la directory corrente.
Sono directory "scorciatoia": esistono in ogni directory, ma non seguono il concetto di "cartella in cartella".
Anche la directory di root ha una directory madre (è la directory di root stessa!).
Il file ./chapter-1 è il file chiamato chapter-1 nella directory corrente. Occasionalmente è
necessario inserire il "./" per far funzionare alcuni comandi, sebbene questo sia raro. In molti casi, ./chapter-1
e chapter-1 sono la stessa cosa.
La directory ".." è molto utile per tornare indietro nell'albero:
/usr/local/bin$ cd ..
/usr/local$ ls -F
archives/ bin/ emacs@ etc/ ka9q/ lib/ tcl@
/usr/local$ ls -F ../src
cweb/ linux/ xmris/
/usr/local$
In questo esempio, sono passato nella directory madre usando cd .. e ho fatto l'elenco della directory /usr/src
da /usr/local usando ../src . Notate che se fossi stato in /home/larry , inserire ls -F ../src
non sarebbe andato bene!
La directory ~/ è equivalente alla vostra home directory:
/usr/local$ ls -F ~/
/usr/local$
Potete vedere che non c'è niente nella vostra home directory. ~/ diverrà più utile quando impareremo
come manipolare i file.
|