Bien qu'il y ait vos caractères ASCII imprimables normaux qui sont envoyés dans les deux sens sur un terminal, il existe également de nombreux caractères non imprimables qui sont utilisés pour que le système communique avec le terminal. Par exemple, si un programme envoie le caractère 0x07
("Caractère ASCII Bell"), votre terminal doit émettre un bip.
D'autres séquences spéciales peuvent être utilisées pour changer la couleur du texte affiché, la direction dans laquelle il est affiché, le titre de la fenêtre, la taille de la fenêtre, etc., entre autres choses.
Lorsque vous
cat /dev/urandom
Un tas de caractères aléatoires sont déversés sur votre terminal, et le terminal ne peut pas dire qu'il ne s'agit pas de vrais codes de contrôle.
Parce que le programme envoie effectivement des commandes aléatoires au terminal, le terminal se retrouve dans un état aléatoire, souvent inutilisable.
Une partie de la sortie aléatoire sera des codes d'échappement ANSI (http://en.wikipedia.org/wiki/ANSI_escape_code), qui peuvent faire des choses amusantes comme masquer le curseur ou sélectionner des polices alternatives. Une autre possibilité sont les séquences Unicode :un flux d'octets aléatoire ne sera pas UTF-8 valide, et probablement que tous les terminaux compatibles Unicode ne le gèrent pas correctement.