Запустив 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чтобы проверить любые возможные псевдонимы и т. Д.