ls automático al usar cd

2026

Esto es una de esas mejoras pequeñas que no parecen importantes, pero cuando te acostumbras, no quieres volver atrás.

Cada vez que entro a un directorio con cd casi siempre lo siguiente que escribo es ls

Así que me hice una pregunta sencilla: ¿por qué no hacer que cd muestre automáticamente el contenido del directorio?

La idea

La idea es simple: cambiar de directorio y ver inmediatamente qué hay dentro, sin escribir nada más.

Para lograrlo, redefiní cd usando una función.

La función

cd() {
  new_directory="$*"

  if [ $# -eq 0 ]; then
    new_directory="${HOME}"
  fi

  builtin cd "${new_directory}" && ls
}

A primera vista puede parecer complicado, pero en realidad es más simple de lo que parece.

Qué hace esta función

Esta función reemplaza el comportamiento normal de cd por uno ligeramente mejorado: cambia de directorio y luego ejecuta ls

Si el cambio de directorio falla, ls no se ejecuta.

Desarmando la función paso a paso

Primero se define la función cd() Esto hace que Bash use esta versión en lugar del comando original.

La variable new_directory guarda el destino al que quiero moverme. Uso $* para capturar lo que escribo después de cd

Luego viene esta condición:

if [ $# -eq 0 ]; then
  new_directory="${HOME}"
fi

Esto mantiene el comportamiento clásico: si escribo solo cd Bash me lleva a mi carpeta personal.

La línea más importante es esta:

builtin cd "${new_directory}"

Uso builtin cd para asegurarme de llamar al cd original de Bash y no a esta misma función.

Sin eso, entraría en un bucle infinito (basado en hechos reales).

Finalmente, si el cambio de directorio fue exitoso, se ejecuta un simple ls

No uso opciones especiales a propósito: así respeto los aliases y configuraciones que ya tenga definidos en el sistema.

Por qué me gusta esta versión

No es algo revolucionario, pero mejora un poco la experiencia diaria.

Una advertencia

Esta función no es para todo el mundo. Si prefieres una terminal silenciosa al entrar a carpetas, probablemente no te guste.

En mi caso, ver el contenido de inmediato me ayuda a orientarme mejor.


Nota: Este artículo forma parte de la serie Mi terminal, paso a paso . Escribo estas cosas porque las uso, y porque si no las anoto, después se me olvidan.