Terminal speaking in tongues after curl command

I'm using Ubuntu 16.04.3 through the Oracle VirtualBox. I'm trying to install a Python environment Anaconda through the Terminal.

Following the instructions on How To Install the Anaconda Python Distribution on Ubuntu 16.04, I came to:

curl -O https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh

This is when my terminal started speaking in tongues with sample output:

"n�� ء�Q�6� �6                                                      p%�W��� �{K+� �ϧ_� 9��
             ��]6��=<h���Y/{��$[�g ��c
                                       Y }��Z���csoH8�S��mJ�Q���6�� #��;�c�����w �<X�-�xr�ӷsk���]�v�E9ۭlZ�D/q�V��t�il1]��:ު���j9^u� y ��r��~�[ş�ǯ7]�*k"3S�,�R�'� �F��� �bj�(�Du�LTҀtG;JK���-aQ�{ �ȗ)��}� ���- Ws �T+��j�'�]� ��U6 ���i� �6�(���ki����V�AZ�[K��ȻpilA��� �|\ ;5s��2��XsV o��3D�
                                               t�T�En�n�
                                                        ��mp ����2������F��ܺ�l� 0�5����,�(e �
                                                                                             �Y�ݮ��Nx��vF��n�9�y�-�N���9E�..ʵ!�Dݵ�[̺�� ��8���+YΛ���,Ê
O�1l!��V��t��ڡ6� �T��݋��d�Y����v�� �� ق�z�D.Z�iv�%�+�9 o��-�͹�K(�n"�i�-�Y�Nm)1仕��|\�<��Ҹ���y�d ���;[ �ԡ�S��ΰ�>%�m,!��ݛ5#5����b~m��n��n)�ƨ�˧���1�m�y����94�i�(u� �����Y��_�i�=�
U���� �R֎(��fn Ui ȵ�'M|9��:
��j��9 6AJ*BԹ�� {3����A^ B�ٻ���*kE��3#��
                                        %�3X�S�I��2ؗDYUz1����q��}�| .Y�^sO    � ���q�al�R��Xt8ñt�֝ kë�21
                                                                                                         �D{���b�vkh�@��5(�$�KJ%��V� ��ޓ3teJ�# *r*��YWu�� Vcy�<�wWqm�Q�Ђt,�7 ���� bQ碟�eT\��,Q���= D,7=��ud�I5��UVd���E3�oC]��<� �܌�z��V���� }��� �l��]��P9 h6ծR�.��;����פ�þ �͜��ǡ�s7\ڙ���ZՙҰ�5Z��. �bh^� U^=������7-Dڏ� �y�9Z\:"�'l���(*�c� Y��ҳ� 3�v\���_ "�� f�\K]��e��� /b��9���^��G 0�� tw�Ef�:� @��! 
                                             U�� �*�a���>l ���iڨ$��u1�K
                                                                       Z�� j�q �ӧ4��n���&��>ԃZj �s��׳���f��hqօ�Ȓ�Nv(\f����4[S֎^ui$�.Ju�ifZ�)@��k�T1ɭz�Ս�ʥ `�h�k����մ�Q�2�ʼn ض��^lmXֻǿ�k�;E� ��ڠ��
K��Ǹ�Y �����k~�ڵ9"�j� 7��"5�P�jJ�Q�Ƶ(�ؠ�m��Teoe�3"��xfqrl����
                                                             NE��q�
                                                                   Qc
                                                                     d�]�zZu�n� �|�Ge���6��\��d*k<���S�m��He�ɿ����ǯq=�f�V ���i]�
          0˙�E�.g�c ��n� ��A�� ���r��� ��hW�p�Ԏ ���S �Lh�F�~�E'G^�l6;37����S4=    �� �S:� � ��Bc�ҧ�q� ҹ_����&� 2� �X 4�S �֛L� y���o tޱG��rzBn��*� X��� �*U=�;�^1�?��l�j��Z�    � ��� {4�x��6e � Nt-����|�i�݇��3S[�M)����͠�TdcC��*����-Y�;�� &2^*��ʶ�W��1�Wu�]�x3��" TX���E�Y%j�6`w����ON�0\��D5����&�Y<���a��� ym�����B�-� ��$_y���x�$����V��11Һ�
                   m�Ev�� 1^U� ��QM�Vz� <����56�9�F�� Wf��j�9���)�|v �u9%W
m-��8�(���hg�   ���]�Z� ���z�n�6 ��vk                                      mkj-��aA�\\a
                                     ��oޑr����oLт �65�<-r �uٻ�pq=�{� ���.NL^���
                                                                               ��� ��éV>~8 �c7Jw 5�y nG��[\W���f�I���[/�k��EfEa���8 z� �+�� ������y���    `�Nm.K|� �:L;SwY�������Ћ����ü�{� 65"� }> �kLW�F&b�K'(ihg�{� x�
                                                                                                       �4QJJ���9 �8Oj6�Z��:�
      �y,1�5�w�R

p�Ў���XqNJ 5t��1)u�ٟ��4 �J��hi��A !������kJ V\    ��� a�-a�R��A� ���$�f�k87��˾��O��f�j�N�XBzF�I�ɫ ��|.]^�K�W�s>U �
��a��κ��� ��� �ԡJ6X��,���충���Y��n�{ � g����E��~� ��t2g�θ����P����N�7:|S�`Z-+׮�O��Iѷ�������ZE��m�le�6��t����-^lU�)_��48R���j��I�h�L���J0&8Y��t� :aI�0n 
                                  � L��$V��� �=F W=�.t�˳*�h���Fm˱��Ծ}Qv��: �e��| �����^C"

Am I missing fonts here? I've talked to Prof. Google and I haven't come across anything that can help.

Any assistance would be greatly appreciated.


Solution 1:

This is a common problem due to curl's default behavior of writing to standard output unless told to do otherwise. The problem will likely become less common as the newest versions of curl become more widely adopted.

The reason the problem happens is that binary files frequently contain sequences of characters that are interpreted as escape sequences.

As guiverc says, typing reset and pressing Enter is usually sufficient to fix this. It may be useful to press Ctrl+C a few times first, because if you had accidentally typed anything else into the terminal, you might not know about it because the terminal isn't displaying things properly.

Sometimes reset doesn't work. You can try running stty sane followed by tput rs1, which should work.

References and Further Reading

  • Fix terminal after displaying a binary file
  • How to fix a terminal after a binary file has been dumped inside it?
  • How to avoid escape sequence attacks in terminals?
    (Though usually when binary data messes up your terminal, it's accidental and harmless.)