Термінал приймає і виконує купу різних послідовностей символів як команди управління. Наприклад, весь рух курсору здійснюється за допомогою цих. Деякі з кодів вносять постійні зміни, як-от встановлення кольорів або наказ терміналу використовувати альтернативний набір символів. Виконавчі файли та інші двійкові файли цілком можуть містити байти, які представляють ці команди, тому скидання бінарних файлів у термінал може мати прикрими побічними ефектами. Див., Наприклад, тут деякі коди управління.
Історія цього полягає в тому, що спочатку термінали були досить тупими пристроями з екраном і клавіатурою , і вони підключалися до фактичного комп'ютера через послідовний порт. До цього вони були принтерами з клавіатурами. Протоколу для відокремлення байтів даних від байтів команд не було багато, тому команди були віддані терміналу "inline". (А точніше, протоколи і коди управління були протоколом.) Можна припустити, що якби система була розроблена сьогодні, було б чіткіше розділення даних і команд.
Замість того, щоб просто закрити вікно терміналу або не вбити емулятор, ви можете скористатися reset
командою , яка надсилає аналогічну команду (або декілька), щоб скинути термінал назад до звичайних значень за замовчуванням.
Я не знаю, що саме спричинить зміну фунта хешу. (Але @ Random832, дивіться їх відповідь .) Я більше знайомий з "альтернативним набором символів", який може змінити всіх символів на лінійні гліфи для малювання. Навіть якщо це трапляється, введення з клавіатури зазвичай проходить незмінно, тому запис reset
Enterвсе одно працює, навіть якщо символи відображаються як сміття чи взагалі відсутні. (У порівнянні з тим, що ваше підказка перетворюється на купу рядків, ви отримали лише незначний ефект.)