cd (Unix)

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

cd (abbreviazione dalla lingua inglese di change directory, cambia directory), nei sistemi operativi Unix e Unix-like, e più in generale nei sistemi POSIX,[1] è un comando interno delle shell testuali che cambia la directory corrente della shell da cui viene eseguito.

Descrizione generale[modifica | modifica wikitesto]

Il comando è necessariamente un comando interno della shell, e non può essere un programma esterno ad essa, in quanto un processo può modificare solo la propria directory corrente e non quella di altri processi; da ciò segue che la shell deve implementare autonomamente questa funzione. La nuova impostazione della directory corrente viene comunque ereditata dai programmi avviati in seguito dalla stessa shell.

Dopo un cambio di directory corrente, la variabile d'ambiente PWD viene automaticamente aggiornata con il pathname della nuova directory corrente.

Sintassi[modifica | modifica wikitesto]

La sintassi generale di cd è la seguente:

cd [opzioni] [--] [dir]

Il parametro facoltativo dir indica la nuova directory corrente. Se non è specificato, viene usato al suo posto il valore della variabile d'ambiente HOME, che normalmente indica la home directory dell'utente. Se invece è un trattino ("-"), allora viene usata la directory corrente precedente.

Se il parametro dir è un pathname relativo che non ha come primo elemento "." o "..", allora esso viene unito a ciascuna delle directory elencate nella variabile d'ambiente CDPATH: se il risultato corrisponde ad una directory esistente, allora essa diviene la nuova directory corrente. Altrimenti dir viene considerato relativo alla directory corrente.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Opzioni[modifica | modifica wikitesto]

Tra le opzioni vi sono:

-P
Risolve gli eventuali collegamenti simbolici a directory, in modo che la nuova directory corrente sia specificata come pathname assoluto non contenente alcun collegamento simbolico nei suoi componenti.
-L
Non risolve eventuali collegamenti simbolici a directory, che quindi possono fare parte dei componenti del pathname della nuova directory corrente.

Esempi[modifica | modifica wikitesto]

Imposta /tmp come nuova directory corrente:

cd /tmp

Sale di un livello nella gerarchia delle directory:

cd ..

Ritorna alla directory corrente precedente:

cd -

Va nella directory specificata dalla variabile d'ambiente HOME, che normalmente è la home directory dell'utente:

cd

Ricerca la sottodirectory fatture/2008 relativamente alle directory elencate nella variabile d'ambiente CDPATH e alla directory corrente, e usa come nuova directory corrente la prima tra esse trovata:

cd fatture/2008

Ricerca la subdirectory fatture/2008 relativamente alla directory corrente e la usa come nuova directory corrente, non considerando i valori elencati nella variabile d'ambiente CDPATH:

cd ./fatture/2008

Note[modifica | modifica wikitesto]

  1. ^ (EN) cd, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 30-05-2008.

Voci correlate[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica