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 lspuede ayudarlo a identificar el problema. stracemuestra todas las llamadas al sistema realizadas por el programa que invoca.
/bin/ls(o más bien command ls) ejecutar lssin las opciones con alias, para confirmar si es la opción de color la que está marcando la diferencia. FWIW, lsapaga la coloración cuando su salida es una tubería u otro dispositivo no terminal.
\ls
type lspara verificar cualquier posible alias, etc.