Unter Ubuntu öffne ich ein Terminal und mache
sudo bash
cd /
ls | head -n 1000
Und voraussichtlich werden ungefähr 20 Verzeichnisse zurückgegeben.
Wenn ich jedoch ein ls mache und es nicht in irgendetwas hineinpfeife, hängt das ls nur dort, bis ich es von einem anderen Terminal aus töte. Was könnte passieren?
BEARBEITEN:
> type ls
ls is aliased to `ls --color=auto`
BEARBEITEN:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
Warum hängt der Befehl beim Färben der Ausgabe von ls?
strace ls
kann Ihnen möglicherweise dabei helfen, das Problem zu identifizieren. strace
Zeigt alle Systemaufrufe des aufgerufenen Programms an.
/bin/ls
(oder besser gesagt command ls
), ls
ohne die Alias-Optionen auszuführen, um zu bestätigen, ob die Farboption den Unterschied ausmacht oder nicht. FWIW: Deaktiviert ls
die Färbung, wenn es sich bei der Ausgabe um eine Pipe oder ein anderes Nicht-Terminal-Gerät handelt.
\ls
type ls
, um mögliche Aliase usw. zu überprüfen