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?
fuente
type ls
para verificar cualquier posible alias, etc.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 biencommand ls
) ejecutarls
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