Exclui arquivos fantasma com caracteres especiais

1

Eu li várias maneiras de excluir arquivos com caracteres especiais, mas nenhum deles funciona para mim em uma pasta especial no meu sistema de cache.

Não tenho ideia de como os arquivos chegaram e por que eles se transformaram em arquivos fantasmas.

se eu fizer: "ls -li" no meu cache \ 1 \ a pasta eu recebo a seguinte lista (dump de tela parcial):

335413265 -rw-r--r-- 1 www-data www-data 58734 Jul 30 08:18 1ah17.xml
335413267 -rw-r--r-- 1 www-data www-data 63256 Aug  2 22:12 1ah1.xml
        ? ?????????? ? ?        ?            ?            ? 1ah2.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+cyan12.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+cyan1.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+cyan30.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+cyan31.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+gr%C3%B8n1.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+gr%C3%B8n5.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+gr%C3%B8n6.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+r%C3%B8d1.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+sort2.xml
335413265 -rw-r--r-- 1 www-data www-data 58734 Jul 30 08:18 1ah+-+sort3.xml
        ? ?????????? ? ?        ?            ?            ? 1ah+-+sort8.xml
242562822 -rw-r--r-- 1 www-data www-data 61613 Aug  2 07:35 1amp+operations+in+c
rimping+tool+number+of+pins%3A+-1.xml

Então eu recebo muitos arquivos sem um número inode. Se eu fizer um "find" na pasta, recebo muitos erros dizendo que ele não pode ler os arquivos fantasmas.

Como posso me livrar desses arquivos e / ou da pasta inteira?

    
por Flemming Christensen 05.08.2014 / 13:01

1 resposta

0

As linhas de ? caracteres indicam entradas de diretório que não correspondem a um arquivo. Este é um sinal de que seu sistema de arquivos está danificado. Você não poderá chamar rm para remover esses arquivos porque os arquivos não estão realmente lá, há apenas um rótulo pendente. Você precisa executar uma verificação e reparo do sistema de arquivos ( fsck ).

Dado que isso está na sua partição raiz, como aconselhado por garethTheRed , reinicie seu sistema e force um fsck na reinicialização. Existem várias maneiras de forçar um fsck na reinicialização:

  • touch /forcefsck
  • tune2fs -C 999999999 /dev/sda1 onde sda1 é o dispositivo de bloco que contém o sistema de arquivos
  • Passe a opção de linha de comando forcefsck para o kernel no momento da inicialização
por 06.08.2014 / 02:51