Der unbekannte Befehl – „reset“ der Rettungsanker

Wem ist das noch nicht passiert und hat versucht eine binäre Datei mit cat oder less versucht anzuzeigen? Das Ergebnis ist dann man erhält eine unlesbare Kolonne an mehr oder minder seltsamen ASCII-Zeichen:

▒AE
   �-@s��@A�]
J
 ,.`s��Wc�D▒�D �h▒ADD.�s��]B�E▒�E �E(�H0�H8�G@j8A0A(B B▒B�.�s���.�s��b�a�lr�l�r�h`r�h s�� �0�`�`�v��p�p���0����q0�p���m�um@u`� ����� �����@�p��� �0�@���о�� �����@���p���tL�Ӌ׋݋��������������������t�f����▒� �%�,�7�>�G���a8�bU�d_�De��o����h��i��k��n��G��qҌrf�sI�wڌA��B��F�����
�H���#��(�I���/�L;�NC�Q���N�R{��X��m��k�Tt��s��������~����Z�����~�����}���      �����ό����
                                                                                          �>�������▒�� ���#�&�)�,�/���2������8�=�����;��%�2�?�L�S�8��[�v
�l▒��� �                                             @
�
 ▒ �  �*P     ▒������o����o���o����o��6@F@V@f@v@�@�@�@�@�@�@�@�@AA&A6AFAVAfAvA�A�A�A�A�A�A�A�ABB&B6BFBVBfBvB�B�B�B�B�B�B�B�BCC&C6CFCVCfCvC�C�C�C�C�C�C�C�CDD&D6DFDVDfDvD�D�D�D�D�D�D�D�DEE&E6EFEVEfEvE�E�E�E�E�E�E�E�EFF&F6FFFVFfFvF�F�F�F�F�F�#����?������Չe�����ˍȍȍ΍ԍڍ����������`�%�7a5f86cd6394e8f583c14d786d13b3bcbe051b87.debug�cU".shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.plt.data.bss.gnu_debuglink
                                                                        ���� !��$4��>o
                                                                                     ��`
                                                                                       ▒F  �N���o[���o��jhh▒tB�*�*�    ▒~@@y @ @���F���F�F�%��l�l  �pp)Q �,�,��(�(�����8
�����#�h &�� ��4

Das ganze wäre jetzt kein Problem aber danach scheint die Konsole nicht mehr vernünftig zu funktionieren. Die Ursache sind hierbei die nicht-druckbaren Steuerzeichen die dadurch ausgegeben werden und die die Konsole verändert. Die naheliegendste Lösung dieses Problem wäre die Konsole zu schließen und eine neue zu öffnen. Eine wenig elegante Lösung und erinnert eher an die typischen Fixes unter Windows – neu starten des Programms oder gar des Rechners. Unter Linux gibt es dafür den Befehl reset der einfach die Konsole wieder auf die Startwerte zurück setzt. Und schon funktioniert diese auch wieder wie gewohnt.

Man kann dem vorbeugen indem man sich vor einem cat Binärdatei vorher mit file den Dateityp anschaut:

$ file /bin/ls
/bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a65f86cd6394e8f583c14d786d13b3bcbe051b87, stripped
$ file $(which ls)
/bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a65f86cd6394e8f583c14d786d13b3bcbe051b87, stripped

reset kennt eine Reihe Optionen die ich innerhalb von 20 Jahren mit Linux selber noch nie gebraucht habe und daher möchte ich dafür auf die Man-Page verweisen.

kais-universum.de