Uma maneira é usar o número de inode
ls -i
Obtenha o número de inode do arquivo inválido, finja que é 42
find . -inum 42 -exec rm -i {} \;
Eu encontrei um arquivo em um diretório chamado "." Não o "." indicando o diretório, mas um arquivo real com conteúdo nele. Isso, como você pode imaginar, está causando todos os tipos de problemas. O problema é que não consigo descobrir como removê-lo. Como eu removeria um arquivo chamado "." sem excluir todo o diretório atual. Aqui está uma lista só para mostrar:
drwx------ 2 mysql mysql 36864 Jun 28 14:11 .
drwxrwxr-x 5 mysql mysql 4096 Jun 26 06:46 ..
-rw-r--r-- 1 user1 users 2287 Jun 24 14:32 .
-rw-rw---- 1 mysql mysql 65 Jun 21 21:16 db.opt
-rw-r--r-- 1 mysql mysql 0 Jun 28 14:11 .hidden
Você pode ver o diretório (.), mas também pode ver o arquivo de propriedade "user1" chamado "." do tamanho do arquivo 2287. Como eu removeria isso? (Rodando o RHEL 4.6).
Verifique novamente se não há espaço com ls -alQ
:
drwxr-xr-x 2 adam adam 4096 2010-06-28 14:23 "."
-rw-r--r-- 1 adam adam 0 2010-06-28 14:23 ". "
drwxr-xr-x 71 adam adam 4096 2010-06-28 14:23 ".."
Experimente removê-lo pelo número de inode
find -user user1 -print
find -user user1 -delete
Meu palpite não é realmente chamado '.' Há provavelmente um personagem de controle ou similar. O acima remove-lo com base no proprietário. O -print
é um teste para evitar surpresas.
Você pode executar rm com interactive e confirmar apenas os arquivos que deseja excluir:
rm -i ./.
Então acontece que não foi apenas um "." Havia um caractere de controle no nome (^ M). Como tal, eu acabei de fazer um: rm -i ". ^ M" (controle de seqüência de teclas-V controle-M) e ele foi removido.
Tem a certeza que é chamado '.' Não tem espaços nem nada, é chamado '. '?
Por padrão, o rm não remove diretórios, então porque não apenas usar
rm -i .
Tente ls -il
para obter o número de inode ... embora não tenha certeza de onde você vai a partir daí. Talvez dê uma olhada rápida em c para se livrar dele.
Mas se for parte de um rootkit, você precisa de uma instalação limpa mesmo assim ...