Renomear e excluir arquivos no Linux com caracteres especiais no nome

By Mario Barduchi

Fala pessoal…

Hoje surgiu uma necessidade um pouco fora do normal aqui. Nada a ver com Oracle e sim com a exclusão de arquivos no linux.

Achei bacana compartilhar.

Não sei porque surgiu um arquivo com o nome “?0?@@?i@8?@” no meu servidor de testes.

[root@odin]# ls -lrht
-rw-r–r– 1 root root 0 Jul 12 09:58 ?0?@@?i@8?@

Ok, vamos excluir esse arquivo:

rm -f ?0?@@?i@8?@
rm -f “?0?@@?i@8?@”

Nos dois casos recebi o erro que o nome do arquivo era inválido.

Então, dei uma pesquisada e achei o tal do “–“. Ai ficou fácil, primeiro renomeei o arquivo problemático e depois exclui.

— Renomear
[root@odin]# mv — ?0?@@?i@8?@ tt

[root@odin]# ll
-rw-r–r– 1 root root 0 Jul 12 09:58 tt

— Excluir
[root@odin]# rm tt
rm: remove regular empty file `tt’? y


E tudo foi resolvido.

Então é isso. Só uma dica que pode ser útil um dia.

Abraço
Mario

Fonte: ORADICAS – Mario Barduchi