Запустив Ubuntu, я открываю терминал и делаю
sudo bash
cd /
ls | head -n 1000
И, как и ожидалось, возвращается около 20 каталогов.
Однако, если я делаю ls и не направляю его во что-либо, ls просто висит там, пока я не убью его из другого терминала. Что может происходить?
РЕДАКТИРОВАТЬ:
> type ls
ls is aliased to `ls --color=auto`
РЕДАКТИРОВАТЬ:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
Почему окраска вывода ls вызывает зависание этой команды?
strace ls
может потенциально помочь вам определить проблему. strace
отображает все системные вызовы, сделанные программой, которую она вызывает.
/bin/ls
(или, скорее, command ls
), чтобы запустить ls
без псевдонимов, чтобы убедиться, что это цвет вариант, который имеет значение. FWIW, ls
отключает окраску, когда его выход представляет собой трубу или другое нетерминальное устройство.
\ls
type ls
чтобы проверить любые возможные псевдонимы и т. Д.