Sous Ubuntu, j'ouvre un terminal et fais
sudo bash
cd /
ls | head -n 1000
Et de manière prévisible, environ 20 répertoires sont renvoyés.
Cependant, si je fais un ls et que je ne le relie à rien, le ls se bloque jusqu'à ce que je le tue depuis un autre terminal. Que pourrait-il se passer?
ÉDITER:
> type ls
ls is aliased to `ls --color=auto`
ÉDITER:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
Pourquoi la coloration de la sortie de ls provoque-t-elle le blocage de cette commande?
strace lspeut potentiellement vous aider à identifier le problème. straceaffiche tous les appels système effectués par le programme qu'il appelle.
/bin/ls(ou plutôt, command ls) d'exécuter lssans les options aliasées, pour confirmer si c'est l'option couleur qui fait la différence. FWIW, lsdésactive la coloration lorsque sa sortie est un tuyau ou un autre périphérique non terminal.
\ls
type lspour vérifier tous les alias possibles, etc.