Il comando cd (acronimo di “change directory”) è un comando built-in delle shell Unix e Unix-like, nato con le prime versioni di Unix nel 1969 nei Bell Labs. Il comando cd è integrato direttamente nella shell (come bash o zsh) perché deve modificare lo stato interno della shell stessa (la directory di lavoro corrente); se fosse un programma esterno, cambierebbe directory solo nel suo processo temporaneo, senza effetto sulla shell dell’utente. La sua funzione primaria è spostare l’utente da una directory all’altra all’interno del filesystem.

Le modalità d’uso e le opzioni comuni sono:

  • cd [percorso]: sposta l’utente nella directory specificata (es. cd Documenti o cd /var/log).
  • cd (senza argomenti): riporta immediatamente l’utente alla propria home directory ($HOME).
  • cd ..: sale di un livello nella gerarchia delle directory (directory parent).
  • cd -: torna alla directory precedente a quella in cui ci si trovava (utile per alternare rapidamente tra due cartelle).
  • cd ~: esplicita il ritorno alla home directory dell’utente corrente.

Non esistono opzioni con il trattino (come -l o -a) per il comando cd stesso; la sua sintassi si basa interamente sull’argomento del percorso fornito. Un errore comune è tentare di usare cd per creare directory o per elencarne il contenuto, operazioni che richiedono rispettivamente i comandi mkdir e ls.