Se você executar ls normalmente, ele mostrará apenas a lista de arquivos sem precisar executar stat (2) em nenhum deles. Em outras palavras, ele não acessa os arquivos, mas apenas o diretório que contém os arquivos.
Se você adicionar a opção --color, ou usar outras opções ls que precisem examinar os arquivos, ls precisará declarar (2) esses arquivos.
Provavelmente pelo menos um dos arquivos em seu diretório está sendo montado a partir de um sistema remoto, via NFS ou similar. E o servidor do qual você montou essa partição não está ativo ou não está respondendo. Então, quando o ls tenta obter as informações sobre esse diretório, ele fica pendurado no kernel esperando que o servidor responda.
Como outros já mencionaram, se você usar strace, descobrirá qual diretório o ls está tentando acessar quando ele é interrompido. Então você pode desmontar essa partição montada ou o que quer que seja.