Eu tenho uma máquina que tem um diretório que parece corrompido. A saída de ls -lah
é algo como:
??????????? ? ? ? ? ? dir_name
Isso costumava ser um diretório válido em uma VM CentOS 7 no SSD. Não sei o que aconteceu, mas agora só quero excluí-lo, mas isso não parece possível:
$sudo rm -rf dir_name
rm: cannot remove ‘dir_name’: Is a directory
E stat
também não consigo ler:
stat dir_name
stat: cannot stat ‘dir_name’: No such device
Qual é a maneira mais simples de excluir esse diretório com segurança?
Você não pode excluir dirs corrompidos.
Você deve
umount
o sistema de arquivos e executar umfsck
conforme
man 8 fsck
Embora a resposta genérica tenha sido dada, apenas quero salientar que, no meu caso particular, esse diretório também foi usado como um ponto de montagem SMB (cifs), que pude ver com o
mount
comando. Então a solução foi simplesmente fazer:E então o diretório parecia normal novamente e consegui excluí-lo como de costume.