ls automático al usar cd
2026Esto 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 rompe el comportamiento estándar de
cd - Respeta aliases y configuraciones de
ls - Reduce comandos repetitivos
- Es fácil de entender y mantener
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.