Терминал принимает и выполняет набор различных последовательностей символов в качестве команд управления. Например, все движения курсора выполняются с использованием тех. Некоторые коды вносят постоянные изменения, такие как установка цветов или указание терминалу использовать альтернативный набор символов. Исполняемые файлы и другие двоичные файлы могут содержать байты, представляющие эти команды, поэтому выгрузка двоичных файлов в терминал может иметь неприятные побочные эффекты. Смотрите, например, здесь некоторые коды управления.
Исторический фон этого заключается в том, что изначально терминалы были довольно тупыми устройствами с экраном и клавиатурой , и они подключались к реальному компьютеру через последовательный порт. До этого это были принтеры с клавиатурой. Для отделения байтов данных от командных байтов не было большого количества протоколов, поэтому команды передавались терминалу «inline». (Или, скорее, управляющие коды и управляющие символы были протоколом.) Можно предположить, что если бы система была разработана сегодня, было бы более четкое разделение между данными и командами.
Вместо того, чтобы просто закрывать окно терминала или убивать эмулятор, вы можете использовать reset
команду , которая отправляет аналогичную (или несколько) команду для сброса терминала до нормальных значений по умолчанию.
Я не знаю, что именно приведет к изменению хеша. (Но @ Random832 делает, смотрите их ответ .) Я более знаком с "альтернативным набором символов", который может превратить все символы в глифы рисования линий. Даже если это произойдет, ввод с клавиатуры обычно проходит без изменений, поэтому запись по- reset
Enterпрежнему работает, даже если символы отображаются как мусор или не отображаются вообще. (По сравнению с вашим приглашением, превращенным в кучу строк, вы получили только незначительный эффект.)