Такой мусор может быть следствием команды, которая выводит двоичные данные на вашу консоль. Обычно вы не хотите, чтобы команды делали это. Тем не менее, это возможно из-за ошибки или какой-то ошибки. Пример:
Вы хотели, cat file
где file
это текстовый файл, вы сделали опечатку и запустить, cat fild
где fild
случилось быть двоичным файлом.
В таком сценарии некоторые конкретные последовательности байтов могут интерпретироваться вашим эмулятором терминала как управляющие последовательности или около того, они будут влиять на его последующее поведение.
Чтобы исправить это:
- Нажмите Ctrl+ Cнесколько раз, если какой-то процесс все еще выполняется или в командной строке вы что-то набрали вслепую.
- Тип
reset
. - Хит Enter.
От man 1 reset
:
При вызове в качестве
reset
,tset
наборы вареных и эхо режима, отключает CBREAK и сырые режимы, включается переводом символа новой строки и сбрасывает все неустановленные специальные символы на значения по умолчанию перед выполнением инициализации терминала, описанной выше. Это полезно после того, как программа умирает, оставляя терминал в ненормальном состоянии. Обратите внимание, вам, возможно, придется набрать<LF>reset<LF>
(символ перевода строки - обычно control-J), чтобы заставить терминал работать, поскольку возврат каретки больше не может работать в ненормальном состоянии. Кроме того, терминал часто не повторяет команду.
Таким образом, более надежная версия команды выглядит так:
- Типа Ctrl+ J
reset
Ctrl+ J.
Мой опыт (особенно в tmux
) показывает, что в некоторых случаях reset
может не помочь; все же это обычно делает.