Remover arquivo corrompido com nome de arquivo inválido Linux

3

Ontem à noite eu tive um servidor Dovecot travado e ele corrompeu um arquivo no maildir de um usuário. O nome do arquivo agora tem caracteres especiais e não pode ser excluído, todas as ferramentas de linha de comando dizem que o arquivo não pode ser encontrado, mesmo que seja exibido pelo comando LS.

1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc

Você pode ver os caracteres especiais no nome, como "Ώ" ou "Έ".

Não consigo encontrar nenhuma maneira de remover este arquivo.

devo fazer um fsck ?

EDIT 1:

Acabei fazendo um novo diretório "cur" e movi todos os e-mails bons para ele. Eu renomeiei o antigo diretório "cur" para "bad cur"

Eu tentei o seguinte ...

sh-3.2# rm -rf badcur
rm: badcur: Directory not empty
sh-3.2# cd badcur
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# rm -rf 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# ls -i
ls: 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sbc: No such file or directory
sh-3.2#  
    
por TriadicTech 08.01.2014 / 18:39

5 respostas

8

Você pode tentar usar -i , que apresentará uma pergunta

rm -i 1386141318.M854059P*
rm: remove regular file '1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc'?

e responda y

Você pode excluir o arquivo usando seu número de inode. use ls -li para obter o número de inode do arquivo. Uma vez que você o tenha, use find para deletá-lo

find . -inum <inode number> -delete
    
por 08.01.2014 / 19:05
3

A maneira mais fácil de lidar com isso é usar um traço duplo (-) seguindo o rm.

# rm -- 1386141318.M854059P*

O traço duplo informa ao comando rm que você acabou de passar as opções de comando e o que segue é o que ele deve operar.

-Scott

    
por 08.01.2014 / 19:27
2

Se estiver presente, você pode navegar no diretório com Midnight Commander .

Digite mc , use as teclas de seta para selecionar o arquivo e, em seguida, pressione F8 para excluí-lo

    
por 08.01.2014 / 18:48
1

Soa quebrado, desmonta o sistema de arquivos e executa a versão correta de fsck para o seu sistema de arquivos.

Provavelmente fsck.ext3 /dev/sdaN

Execute um df . no diretório se você não souber qual sistema de arquivos está ativado.

Execute mount se você não souber o tipo correto do sistema de arquivos.

    
por 08.01.2014 / 22:47
0

Se você tiver uma GUI disponível, tente usar a GUI para excluir o arquivo.

Eu tentei, por engano, tar xvf um arquivo ZIP do Windows. Ele cuspiu um monte de erros e, em seguida, eu tinha esse arquivo de 0 byte no lugar dos arquivos extraídos, com um nome longo louco com pontos de interrogação representando valores / caracteres não imprimíveis.

Eu usei a ferramenta de navegação de arquivos GUI padrão no Gnome para enviar o arquivo para a Lixeira e, em seguida, fui para a Lixeira, usando a GUI, para excluir permanentemente o arquivo, caso o arquivo pudesse causar qualquer tipo de erro restante na Lixeira.

    
por 12.08.2016 / 21:55