Ejecutando Ubuntu, abro una terminal y hago
sudo bash
cd /
ls | head -n 1000
Y previsiblemente se devuelven unos 20 directorios.
Sin embargo, si hago un ls, y no lo canalizo a nada, el ls simplemente se cuelga allí hasta que lo mato desde otra terminal. ¿Qué podría estar pasando?
EDITAR:
> type ls
ls is aliased to `ls --color=auto`
EDITAR:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
¿Por qué colorear el resultado de ls hace que este comando se bloquee?
strace ls
puede ayudarlo a identificar el problema. strace
muestra todas las llamadas al sistema realizadas por el programa que invoca.
/bin/ls
(o más bien command ls
) ejecutar ls
sin las opciones con alias, para confirmar si es la opción de color la que está marcando la diferencia. FWIW, ls
apaga la coloración cuando su salida es una tubería u otro dispositivo no terminal.
\ls
type ls
para verificar cualquier posible alias, etc.