Uma maneira simples seria remover esses arquivos por seu inode. :)
Use ls -li no diretório com os caracteres incomuns para mostrar o número de inode de cada arquivo, por exemplo,
$ ls -li
total 0
133370 -rw-r--r-- 1 malte malte 0 Dec 30 19:00 ?2?.???љ?!?Gb??σ?[?F?
132584 -rw-r--r-- 1 malte malte 0 Dec 30 18:59 ??3]d???:????????1????G?p?ȋ??????嫳?d????ą-??
Em seguida, use o utilitário find para excluir o arquivo correspondente pelo nome, usando a sintaxe find <somepath> -inum <inode_number> -exec rm -i {} \; , como no exemplo a seguir:
$ find . -inum 133370 -exec rm -i {} \;
rm: remove regular empty file ‘./?2?.???љ?!?Gb??σ?[?F?’? y
$ ls -li
total 0
132584 -rw-r--r-- 1 malte malte 0 Dec 30 18:59 ??3]d???:????????1????G?p?ȋ??????嫳?d????ą-??
A opção -i para rm não é realmente necessária, apenas a adicionei para evitar que você remova acidentalmente arquivos que não pretendia remover. :) Isso faz com que rm peça confirmação para cada arquivo que você deseja excluir.
Se você quiser remover vários arquivos de seus inodes, use a sintaxe -o (significando ou ) para find :
$ find . \( -inum 133370 -o -inum 132584 \) -exec rm -i {} \;
rm: remove regular empty file ‘./?2?.???љ?!?Gb??σ?[?F?’? y
rm: remove regular empty file ‘./??3]d???:????????1????G?p?ȋ??????嫳?d????ą-??’? y
Você pode adicionar mais números de inode estendendo a expressão entre parênteses com mais expressões -o -inum <inode_number> .