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'ambientePWD viene automaticamente aggiornata con il pathname della nuova directory corrente.
Sintassi
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'ambienteHOME, 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'ambienteCDPATH: 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
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
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
^(EN) cd, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 30-05-2008.