Eu acho que você pode ter um arquivo no diretório foo
com caracteres não imprimíveis em seu nome. Compare os caracteres que você vê na saída ls
com os caracteres reais ls
saídas .
cd foo
ls # you see what your terminal lets you see
ls | od -a # you see the character codes *really* coming from ls
Existem vários métodos para ajudar a excluir um arquivo cujo nome você não pode ver ou digitar facilmente.
Aqui você pode usar a opção -i
interativa de rm.
cd foo
rm -i *
Obviamente, tenha cuidado com isso. E diga apenas y
ao que você deseja excluir.
Por que o seu primeiro rm -rf
não o excluiu ... Gostaria de saber se você tem um apelido rm? Use alias rm
para ver. Você pode executar temporariamente a versão real de rm (ignorando o alias) usando \rm -rf foo
.