Isso mesmo.  Olhando meus diretórios pra começar um backup, percebi que criei um arquivo com nome "-C".  Provavelmente resultando de alguma comando errado.

O que fazer nesse caso?  Em geral comandos como "rm" e "mv" não funcionam pois interpretam o "-C" como uma opção do comando, não como arquivo.

Existem várias formas de resolver isso, inclusive algumas mais fáceis via interface gráfica usando nautilus/dolphin ou algo do gênero.  Mas vou mostrar a "forma UNIX" de resolver isso.

Primeiramente, onde está o danado do arquivo?

helio@linux:home$ ls
backup -C helio fisl lost+found support

No caso estava no meu diretório "/home".  E o que era o arquivo?

helio@linux$ home# ls -l
total 646124
drwxr-xr-x 2 root root 4096 Nov 21 09:41 backup
-rw-r--r-- 1 root root 661555200 Oct 9 12:05 -C
drwxr-xr-x 367 helio linux 36864 Nov 21 09:43 helio
drwxr-xr-x 6 fisl fisl 4096 Mar 5 2014 fisl
drwx------ 2 root root 16384 Nov 16 2013 lost+found
drwxr-xr-x 5 support admin 4096 May 17 2013 support

Agora vem o truque.  Cada arquivo criado no seu filesystem tem junto um número de i-node, que é onde ele foi efetivamente gravado no disco.  É possível usar a opção "-i" do comando "ls" pra verificar cada número de i-node de cada arquivo do diretório, seja um arquivo, seja um diretório, ou seja qualquer outra coisa (em Unix, tudo é arquivo).

root@linux:home# ls -i
15335425 backup 4741 -C 16252929 helio 14942209 fisl 11 lost+found 15466497 support

Verificado qual o número do i-node, 4741, agora é usar o comando "find" com opção de "-inum" pra mexer nesse arquivo, junto com um "-exec".  Na opção "-exec", o arquivo encontrado é substituído pelo "{}", que é como se fosse uma variável com o que foi encontrado pelo parâmetros anteriores, no caso o "-inum".  

Então basta usar isso pra renomear o arquivo pra qualquer outro nome.

root@linux:home# find . -maxdepth 1 -inum 4741 -exec mv {} arquivo_alien \;

Verificando...

root@linux:home# ls
backup helio fisl lost+found support arquivo_alien

Agora descobrindo o que é esse arquivo.

root@linux:home# file arquivo_alien
arquivo_alien: POSIX tar archive (GNU)
root@linux:home# mv arquivo_alien arquivo_alien.tar
root@linux:home# tar tvf arquivo_alien.tar
drwxr-xr-x root/root 0 2014-10-09 12:05 home/
drwxr-xr-x fisl/fisl 0 2014-03-05 10:16 home/fisl/
drwxr-xr-x fisl/fisl 0 2014-03-05 10:16 home/fisl/.purple/
-rw-r--r-- fisl/fisl 173 2014-03-05 10:16 home/fisl/.purple/blist.xml
drwxr-xr-x fisl/fisl 0 2013-07-04 22:21 home/fisl/.purple/certificates/

Realmente um arquivo do tipo tar.  Provavelmente de algum backup que tentei fazer e passei a opção de forma errado.  Sem stress e problema resolvido.

root@linux:home# rm arquivo_alien.tar
We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.