El comando cd (Change Directory) es uno de los comandos más utilizados en Linux y otros sistemas Unix-like. Permite cambiar el directorio de trabajo actual en la terminal.

Sintaxis básica

cd [opciones] [directorio]

Si no se especifica ningún directorio, cd te llevará al directorio home del usuario.

Uso básico

ComandoDescripción
cdCambia al directorio home del usuario
cd directorioCambia al directorio especificado (ruta relativa o absoluta)
cd ~Cambia al directorio home (equivalente a cd solo)
cd -Cambia al directorio anterior (alterna entre dos directorios)
cd ..Sube un nivel en la estructura de directorios
cd ../..Sube dos niveles en la estructura de directorios

Ejemplos prácticos

1. Cambiar al directorio home

cd
# o alternativamente
cd ~

2. Cambiar a un directorio específico

cd /var/www/html

Usando ruta relativa:

cd documentos/proyectos

3. Volver al directorio anterior

cd -

Este comando alterna entre los dos últimos directorios visitados.

4. Subir en la jerarquía de directorios

cd ..       # Sube un nivel
cd ../..    # Sube dos niveles

5. Usar variables de entorno

cd $HOME     # Va al directorio home
cd $OLDPWD   # Va al directorio anterior (equivalente a cd -)

Trucos y técnicas avanzadas

1. Autocompletado con TAB

Escribe cd Doc y presiona TAB para autocompletar nombres de directorios.

2. Usar comillas con espacios

cd "nombre con espacios"

O escapar los espacios:

cd nombre\ con\ espacios

3. Combinar con otros comandos

cd /var/log && ls -l

Cambia de directorio y lista su contenido en un solo comando.

4. Crear y cambiar a un directorio

mkdir nuevo_dir && cd $_

$_ contiene el último argumento del comando anterior.

Variables de entorno relacionadas

VariableDescripción
$HOMEContiene la ruta al directorio home del usuario
$PWDContiene la ruta del directorio de trabajo actual
$OLDPWDContiene la ruta del directorio anterior

Notas importantes

  • cd es un comando built-in (incorporado) del shell, no un programa independiente.
  • Para ver tu directorio actual, usa pwd (Print Working Directory).
  • Los permisos del directorio afectan si puedes cambiarte a él (necesitas permiso de ejecución).
  • En scripts, considera usar rutas absolutas para mayor confiabilidad.

Errores comunes y solución

1. Directorio no existe

cd directorio_inexistente
# Error: bash: cd: directorio_inexistente: No existe el archivo o el directorio

Solución: Verifica el nombre y la ruta del directorio.

2. Permisos insuficientes

cd /root
# Error: bash: cd: /root: Permiso denegado

Solución: Usa sudo (para superusuario) o verifica los permisos con ls -l.

3. Espacios en nombres de directorio

cd mi directorio
# Error: bash: cd: mi: No existe el archivo o el directorio

Solución: Usa comillas o escapa los espacios como se muestra en los trucos.

Conclusión

El comando cd es fundamental para navegar por el sistema de archivos en Linux. Aunque simple, dominar sus variaciones y combinaciones con otros comandos puede mejorar significativamente tu eficiencia en la terminal.

Para aprender más sobre el comando cd (aunque es un comando built-in del shell), puedes consultar la documentación de bash:

help cd

Preguntas frecuentes

¿Por qué no hay página de manual para cd?

Porque cd es un comando built-in del shell, no un programa independiente. Para ayuda usa help cd en bash.

¿Cómo puedo cambiar rápidamente a un directorio profundo?

Usa autocompletado con TAB o configura alias en tu .bashrc:

alias proj='cd ~/documentos/proyectos/largo/nombre/directorio'