Linux / Comandos / cd / Comando para moverse a otro directorio

En Linux, el comando cd cambia el directorio de trabajo del shell actual. Por ejemplo, ejecute cd /etc y luego pwd para comprobar su ubicación actual.

Comprobar ubicación actual y moverse

cd es una abreviatura de cambiar directorio y es un comando incorporado en shells como Bash. Se especifica el directorio al que desea moverse como un argumento. El siguiente comando se mueve a /etc y muestra esa ubicación.

cd /etc
pwd

Si el movimiento es exitoso, el comando cd en sí generalmente no produce ninguna salida. Asegúrese de que pwd muestre /etc. Moverse no implica mover archivos o cambiar contenidos, sino que cambia la ubicación de referencia del shell actual. El directorio de trabajo de otros terminales no cambia.

Rutas absolutas y rutas relativas

Las rutas absolutas comienzan desde el directorio raíz /. Por ejemplo, el siguiente comando especifica /var/log sin importar tu ubicación actual. El directorio debe existir y ser accesible.

cd /var/log
pwd

Las rutas relativas se basan en la ubicación actual. Por ejemplo, para moverte a /var y luego dentro de log, ejecuta lo siguiente.

cd /var
cd ./log
pwd

Si tiene éxito, se mostrará /var/log. . se refiere al directorio actual, por lo que ./log es log relativo a la ubicación actual. Si CDPATH está configurado en Bash, cd log puede usar rutas de búsqueda alternativas, pero cd ./log se refiere explícitamente al directorio actual. Si el movimiento falla, resuelve el error antes de ejecutar el siguiente comando.

Moverse al directorio padre y la ubicación anterior

.. se refiere al directorio padre. Si la ubicación actual es /var/log, el siguiente comando se mueve a /var.

cd ..
pwd

Para regresar al directorio visitado anteriormente, use el siguiente comando.

cd -

cd - en Bash se mueve al directorio de trabajo anterior y muestra su ruta. Puede fallar si la ubicación anterior no se ha establecido o es inaccesible. En el ejemplo anterior, si se movió de /var/log a /var inmediatamente antes, regresará a /var/log.

Moverse al directorio de inicio

Si ejecutas cd sin una ruta, Bash se mueve al directorio de inicio establecido en la variable HOME. ~ también suele expandirse al directorio de inicio del usuario actual.

cd
pwd

La ubicación del directorio de inicio varía según la cuenta y la configuración, así que no siempre asumas que es /home/user. cd ~/Documents se mueve bajo el inicio a Documents, y si ese directorio no existe, fallará. cd ~user en Bash es una manera de reemplazar user con el nombre real de la cuenta para indicar la ruta de inicio de esa cuenta. No inicia sesión como otro usuario ni otorga permisos, y debes tener derechos de acceso al objetivo.

Rutas con espacios y enlaces simbólicos

Si un nombre de directorio contiene espacios, coloque la ruta entre comillas. El ejemplo a continuación lo usa cuando my folder está en el directorio actual.

cd "my folder"

Al usar la ruta del hogar, puede colocar ~ fuera de las comillas y encerrar el resto. El siguiente es un ejemplo cuando my folder está bajo el directorio de inicio.

cd ~/"my folder"

Si se movió mediante un enlace simbólico, la ruta mostrada y la ruta real del directorio pueden diferir. El pwd -P de Bash muestra la ruta física. cd -P se mueve basándose en la ruta física interpretada desde el enlace, y el resultado procesado por .. puede diferir del comportamiento predeterminado. Para más detalles, consulte Manual de Bash: cd y pwd.

Verifique cuando el movimiento no sea posible

  • Ruta no encontrada: Verifique la ortografía y la sensibilidad a mayúsculas y minúsculas, así como su ubicación actual, y use ls para ver si el nombre existe. El archivo no es un directorio, por lo que no puede ingresarlo con cd.
  • Permiso denegado: Asegúrese de tener el permiso de búsqueda para acceder al destino y a sus directorios padre. En lugar de cambiar los permisos arbitrariamente, solicite el acceso necesario al administrador.
  • Ubicación inesperada: Compare pwd y pwd -P, y revise los enlaces simbólicos o la configuración de CDPATH.

Puedes ver la ayuda de los comandos integrados en Bash con help cd. En los scripts, necesitas verificar el estado de salida para evitar que el script ejecute operaciones posteriores en el directorio equivocado si cd falla.