Eu escrevi um programa que usa a função de mapeamento de memória POSIX ( mmap
)
O programa pega um arquivo ( a.dat
) e a mapeia na memória para leitura / gravação.
Devido a erros no programa, toda vez que executo o programa, um arquivo com alguns nomes estranhos (por exemplo, ?d?P?^z??d?P?^z?
) é criado. O erro foi resolvido, mas não consigo excluir os arquivos.
Não consigo excluí-lo usando a linha de comando ou selecionando / excluindo do gerenciador de janelas.
Então, como devo excluí-lo? Estou usando o Ubuntu 11.04.
rm '?d?P?^z??d?P?^z?'
). Você tentou isso?rm *
dentro da pasta.Respostas:
rm -i -- *
solicitará que você exclua cada arquivo. Você pode e deve alterar '*' para uma correspondência mais estreita, se houver muitos arquivos. As--
opções de processamento são interrompidas; portanto, um arquivo chamado-d
será removido comrm
êxito.Eu usei isso no passado e funciona até você acertar um personagem especial ou 2 que ele não gosta.
fonte
rm
, você pode fazerrm -i -- *
A--
conta algumas versões do rm não há mais linha de linha de comando após o--
e tratar mais argumentos como nomes de arquivos.--
norm
comando.você pode usar
ls -li
para mostrar todos os arquivos por seu inode. Em seguida, execute este comando para remover o arquivo:Eu adicionei
-maxdepth 1
ao meu achado apenas por segurança:fonte
ls -i
é bom o suficiente.ls
não exclui arquivos. OP quer isso.ls -li
para mostrar todos os arquivos por seu inode". Estou apontando que issols -i
é bom o suficiente para obter uma lista de nomes de arquivos e seus números de inode correspondentes. (Mas é claro que você precisals -ia
se você quiser incluir dot-files.)-delete
opção parafind
, a fim de minimizar o uso do nome de arquivo errado.