lsがおかしな挙動をするときは、たいていファイル名に
コントロールコードが含まれている。例えば\r とか \nとか。
おかしなファイル名を削除するときは tcsh を使うと便利。

rm -i a

まで入力して tab で補完する。コントロールコードが入ってたら
\ エスケープしてくれる。